<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-23021255</id><updated>2009-11-21T21:43:22.450+01:00</updated><title type='text'>Cisco IOS hints and tricks</title><subtitle type='html'>Here you'll find useful (mostly advanced) Cisco Internetworking Operating System (IOS) tricks and hints on deploying some not-so-well known features on Cisco routers.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.ioshints.info/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default?start-index=26&amp;max-results=25'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>881</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23021255.post-6726538500498114769</id><published>2009-11-20T07:29:00.001+01:00</published><updated>2009-11-20T07:29:00.424+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'>Who needs IPv6?</title><content type='html'>&lt;p&gt;One of the most common questions asked by our enterprise customers is “Who needs IPv6?” Since IPv6 does not add any significant new functionality (apart from larger address space), you can’t gain much by deploying it in an enterprise network … unless you’re huge enough that the private IPv4 address space (RFC 1918) becomes too confining for you. A good case study is Halliburton; you’ll find the details in &lt;a href="http://www.amazon.com/gp/product/1587053438?ie=UTF8&amp;amp;tag=cisioshinandt-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1587053438"&gt;Global IPv6 Strategies: From Business Analysis to Operational Planning&lt;/a&gt; book (&lt;a href="http://blogs.nil.com/blog/2008/07/09/book-review-global-ipv6-strategies/"&gt;my review&lt;/a&gt;).&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_K_pkZO5-tTg/Sv0nOIsGacI/AAAAAAAAD1Y/vm_LHzZxlPQ/s1600-h/Who+needs+IPv6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_K_pkZO5-tTg/Sv0nOIsGacI/AAAAAAAAD1Y/vm_LHzZxlPQ/s400/Who+needs+IPv6.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="more" id="ipv6_workshop"&gt;The need for IPv6 deployment is one of the topics discussed in the &lt;a href="http://www.ioshints.info/Enterprise_IPv6_Deployment_Workshop"&gt;&lt;em&gt;Enterprise IPv6 Deployment&lt;/em&gt; workshop&lt;/a&gt;. You can attend an online version of the workshop or we can organize a dedicated event for your team.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;Apart from huge corporations using IPv6 internally, there are three groups pushing the public IPv6 deployment:&lt;/p&gt;&lt;ul class="Bullet1"&gt;&lt;li&gt;Service providers that are running out of IPv4 address space (which is limiting their growth opportunities);&lt;/li&gt;&lt;li&gt;Developers of new peer-to-peer applications that would like to get rid of NAT;&lt;/li&gt;&lt;li&gt;Consumer applications (like smart house) that would like to use globally-valid addresses. For example, &lt;a href="http://www.archrock.com/"&gt;Arch Rock&lt;/a&gt; is one of the companies making &lt;a href="http://www.archrock.com/products/"&gt;IPv6-based wireless sensor networks&lt;/a&gt; (a Google search for “IPv6 sensors” will also give you numerous sources).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For everyone else, IPv6 is something that you don’t want to be involved in (apart from the &lt;em&gt;new toys &lt;/em&gt;perspective), but you’ll be forced to deploy it sooner or later.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-6726538500498114769?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/6726538500498114769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/who-needs-ipv6.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6726538500498114769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6726538500498114769'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/who-needs-ipv6.html' title='Who needs IPv6?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_K_pkZO5-tTg/Sv0nOIsGacI/AAAAAAAAD1Y/vm_LHzZxlPQ/s72-c/Who+needs+IPv6.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-7795483219430094516</id><published>2009-11-19T06:55:00.000+01:00</published><updated>2009-11-19T06:55:00.561+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><title type='text'>Cisco IOS DHCP client behavior</title><content type='html'>&lt;p&gt;&lt;a href="http://wiki.nil.com/"&gt;&lt;img src="http://www.ioshints.info/images/Wiki.png" class="ImgFLTright"&gt;&lt;/a&gt;To complete the information about the &lt;a href="http://blog.ioshints.info/2009/09/dhcp-logging-in-cisco-ios-is-nightmare.html"&gt;DHCP address change behavior&lt;/a&gt;, I’ve collected a few more debugging printouts and combined them with the information from the previous posts into the &lt;a href="http://wiki.nil.com/DHCP_client_address_change"&gt;Cisco IOS DHCP client behavior section&lt;/a&gt; of the &lt;a href="http://wiki.nil.com/DHCP_client_address_change"&gt;DHCP client address change&lt;/a&gt; article in the &lt;a href="http://wiki.nil.com/"&gt;CT3 wiki&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-7795483219430094516?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.nil.com/DHCP_client_address_change' title='Cisco IOS DHCP client behavior'/><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/7795483219430094516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/cisco-ios-dhcp-client-behavior.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7795483219430094516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7795483219430094516'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/cisco-ios-dhcp-client-behavior.html' title='Cisco IOS DHCP client behavior'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8295536978876439545</id><published>2009-11-18T07:01:00.001+01:00</published><updated>2009-11-18T10:27:16.188+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EEM'/><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><title type='text'>Detect short bursts with EEM</title><content type='html'>&lt;p&gt;Last week I’ve described &lt;a href="http://blog.ioshints.info/2009/11/detect-dos-attacks-with-eem.html"&gt;how you can use EEM to detect long-term interface congestion&lt;/a&gt; which could indicate denial-of-service attack. The mechanism I’ve used (the averaged interface load) is pretty slow; using the lowest possible value for the &lt;strong&gt;load-interval &lt;/strong&gt;(30 seconds) it takes almost a minute to detect a DOS attack (see below).&lt;/p&gt;&lt;p&gt;If you want to detect outbound bursts, you can do better: you can monitor the increase in the number of output drops over a short period of time. &lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_K_pkZO5-tTg/Sv2DSojuj7I/AAAAAAAAD1g/qLoJVj-xqyc/s1600-h/Faster+Congestion+Detection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_K_pkZO5-tTg/Sv2DSojuj7I/AAAAAAAAD1g/qLoJVj-xqyc/s400/Faster+Congestion+Detection.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="warn"&gt;Obviously you cannot use this mechanism to detect inbound (potentially DOS-related) floods as the drops occur on the Service Provider’s edge router.&lt;/p&gt;&lt;p class="more"&gt;Various polling and averaging options, including in-depth discussion of hysteresis, are covered in the &lt;a href="http://www.ioshints.info/Embedded_Event_Manager_(EEM)_Workshop"&gt;Embedded Event Manager (EEM) workshop&lt;/a&gt;. You can attend an online version of the workshop or we can organize a dedicated event for your networking team.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;h4&gt;More details: Interface load increases slowly after a flood starts&lt;/h4&gt;&lt;p&gt;The interface input/output rates in bps or pps are computed as weighted averages using a sampling interval configured with &lt;strong&gt;load-interval &lt;/strong&gt;command. To measure the delay between the start of a UDP burst and the &lt;a href="http://blog.ioshints.info/2009/11/detect-dos-attacks-with-eem.html"&gt;denial-of-service alert generated by EEM&lt;/a&gt; (which is triggered by output bps rate exceeding ~80% of configured interface bandwidth), I’ve configured an access-list that reported the start of the burst and attached it to the outgoing interface:&lt;/p&gt;&lt;pre class="code"&gt;ip access-list extended UDP&lt;br /&gt; permit udp any any gt 0 log&lt;br /&gt; permit ip any any&lt;br /&gt;!&lt;br /&gt;interface Serial0/1/0&lt;br /&gt; bandwidth 1000&lt;br /&gt; ip address 10.0.1.1 255.255.255.252&lt;br /&gt; ip access-group UDP out&lt;br /&gt; encapsulation ppp&lt;br /&gt; load-interval 30&lt;/pre&gt;&lt;p&gt;It took the router almost a minute to report the interface saturation &lt;a href="http://4.bp.blogspot.com/_K_pkZO5-tTg/SvqgN9HAKdI/AAAAAAAAD1M/VBtsRwzkdbY/s1600-h/Detect+interface+overload.png"&gt;when the EEM applet was triggered by the TXload interface variable&lt;/a&gt;:&lt;/p&gt;&lt;pre class="code"&gt;rtr#&lt;br /&gt;00:27:38: %SEC-6-IPACCESSLOGP: list UDP permitted udp &lt;br /&gt;  10.0.0.10(1070) -&amp;gt; 10.0.20.3(5002), 1 packet&lt;br /&gt;00:28:25: %HA_EM-6-LOG: IntOverload: Interface Serial0/1/0 &lt;br /&gt;  overloaded: txload = 209&lt;/pre&gt;&lt;p&gt;The &lt;em&gt;OutputDrops &lt;/em&gt;EEM applet which relies on the &lt;strong&gt;output_packets_dropped &lt;/strong&gt;variable detected the flood within 10 seconds.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8295536978876439545?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8295536978876439545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/detect-short-bursts-with-eem.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8295536978876439545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8295536978876439545'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/detect-short-bursts-with-eem.html' title='Detect short bursts with EEM'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_K_pkZO5-tTg/Sv2DSojuj7I/AAAAAAAAD1g/qLoJVj-xqyc/s72-c/Faster+Congestion+Detection.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-2946347792100978950</id><published>2009-11-17T06:52:00.002+01:00</published><updated>2009-11-17T13:09:47.227+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSPF'/><title type='text'>Challenge: OSPF neighbor changing state from DOWN to DOWN</title><content type='html'>&lt;p&gt;I’ve had an interesting discussion with Nicolas who optimized my &lt;a href="http://wiki.nil.com/Report_interface_loss_based_on_OSPF_neighbor_loss"&gt;OSPF neighbor loss EEM applet&lt;/a&gt; assuming the OSPF-5-ADJCHG message reports only OSPF neighbor state transitions from DOWN to FULL and from FULL to DOWN. I knew I'd seen stranger messages in my lab and was able to produce these ones after fumbling with OSPF configurations of two routers connected with a serial link:&lt;/p&gt;&lt;pre&gt;*19:34:42.765: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.1.1 on Serial1/0 from &amp;rarr;&lt;br /&gt;  EXSTART to DOWN, Neighbor Down: Too many retransmissions&lt;br /&gt;*19:35:42.773: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.1.1 on Serial1/0 from &amp;rarr;&lt;br /&gt;  DOWN to DOWN, Neighbor Down: Ignore timer expired&lt;/pre&gt;&lt;p&gt;The messages are repeated approximately every three minutes (using the default OSPF timers).&lt;/p&gt;&lt;p&gt;Here's the challenge: what was going on and how was I able to produce these messages?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-2946347792100978950?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/2946347792100978950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/challenge-ospf-neighbor-changing-state.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/2946347792100978950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/2946347792100978950'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/challenge-ospf-neighbor-changing-state.html' title='Challenge: OSPF neighbor changing state from DOWN to DOWN'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8510387605803415922</id><published>2009-11-16T06:43:00.001+01:00</published><updated>2009-11-16T06:56:52.684+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>HQF: intra-class fair queuing</title><content type='html'>&lt;p&gt;Continuing from my &lt;a href="http://blog.ioshints.info/2009/11/first-hqf-impressions-excellent-job.html"&gt;first excursion into the brave new world of HQF&lt;/a&gt;, I wanted to check how well the intra-class fair queuing works. I’ve started with the &lt;a href="http://blog.ioshints.info/2009/11/first-hqf-impressions-excellent-job.html"&gt;same testbed and router configurations as before&lt;/a&gt; and configured the following policy-map on the WAN interface:&lt;/p&gt;&lt;pre class="code"&gt;policy-map WAN&lt;br /&gt; class P5001&lt;br /&gt;    bandwidth percent 20&lt;br /&gt;    fair-queue&lt;br /&gt; class P5003&lt;br /&gt;    bandwidth percent 30&lt;br /&gt;class class-default&lt;br /&gt;    fair-queue&lt;/pre&gt;&lt;p&gt;The test used this background load:&lt;/p&gt;&lt;table class="codeTable"&gt;&lt;tr&gt;&lt;th&gt;Class&lt;/th&gt;&lt;th&gt;Background load&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;P5001&lt;/td&gt;&lt;td valign="top"&gt;10 parallel TCP sessions&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;P5003&lt;/td&gt;&lt;td valign="top"&gt;1500 kbps UDP flood&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;class-default&lt;/td&gt;&lt;td&gt;1500 kbps UDP flood&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;As expected, the bandwidth distribution between the three traffic classes was almost optimal:&lt;/p&gt;&lt;pre class="code"&gt;a1#&lt;strong&gt;show policy-map interface serial 0/1/0 | include map|bps&lt;/strong&gt;&lt;br /&gt;    Class-map: P5001 (match-all)&lt;br /&gt;      30 second offered rate 394000 bps, drop rate 0 bps&lt;br /&gt;      bandwidth 20% (400 kbps)&lt;br /&gt;    Class-map: P5003 (match-all)&lt;br /&gt;      30 second offered rate 2073000 bps, drop rate 1479000 bps&lt;br /&gt;      bandwidth 30% (600 kbps)&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      30 second offered rate 1780000 bps, drop rate 790000 bps&lt;/pre&gt;&lt;p&gt;Next I’ve started a single (&lt;em&gt;iperf&lt;/em&gt;) TCP session in the P5003 class. Using traditional CB-WFQ the session wouldn’t even start due to heavy congestion caused by the UDP floods. The same problem occurred with HQF since the P5003 class was using FIFO queuing.&lt;/p&gt;&lt;p&gt;However, once I’ve configured &lt;strong&gt;fair-queue &lt;/strong&gt;within the P5003 class, the TCP session got half the allocated bandwidth:&lt;/p&gt;&lt;pre class="code"&gt;$ &lt;strong&gt;iperf -c 10.0.20.10 -t 3600 -p 5003 -i 60&lt;/strong&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.0.20.10, TCP port 5003&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[1916] local 10.0.0.10 port 1309 connected with 10.0.20.10 port 5003&lt;br /&gt;[ ID] Interval       Transfer     Bandwidth&lt;br /&gt;[1916]  0.0-60.0 sec  2.05 MBytes   287 Kbits/sec&lt;br /&gt;[1916] 60.0-120.0 sec  2.05 MBytes   286 Kbits/sec&lt;/pre&gt;&lt;p&gt;As expected, if you start numerous parallel TCP sessions, each one will get as much bandwidth as the UDP flooding stream. I started ten parallel TCP sessions with &lt;em&gt;ipref &lt;/em&gt;and got an aggregate &lt;a href="http://en.wikipedia.org/wiki/Goodput"&gt;goodput&lt;/a&gt; of 524 kbps (leaving UDP flood with approximately 60 kbps):&lt;/p&gt;&lt;pre class="code"&gt;$ &lt;strong&gt;iperf -c 10.0.20.10 -t 3600 -p 5003 -i 60 -P 10&lt;/strong&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.0.20.10, TCP port 5003&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[1916] local 10.0.0.10 port 1310 connected with 10.0.20.10 port 5003&lt;br /&gt;[1900] local 10.0.0.10 port 1311 connected with 10.0.20.10 port 5003&lt;br /&gt;[1884] local 10.0.0.10 port 1312 connected with 10.0.20.10 port 5003&lt;br /&gt;[1868] local 10.0.0.10 port 1313 connected with 10.0.20.10 port 5003&lt;br /&gt;[1852] local 10.0.0.10 port 1314 connected with 10.0.20.10 port 5003&lt;br /&gt;[1836] local 10.0.0.10 port 1315 connected with 10.0.20.10 port 5003&lt;br /&gt;[1820] local 10.0.0.10 port 1316 connected with 10.0.20.10 port 5003&lt;br /&gt;[1804] local 10.0.0.10 port 1317 connected with 10.0.20.10 port 5003&lt;br /&gt;[1788] local 10.0.0.10 port 1318 connected with 10.0.20.10 port 5003&lt;br /&gt;[1772] local 10.0.0.10 port 1319 connected with 10.0.20.10 port 5003&lt;br /&gt;[ ID] Interval       Transfer     Bandwidth&lt;br /&gt;[1868]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1820]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1772]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1836]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1916]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1900]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1852]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1804]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1788]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;[1884]  0.0-60.0 sec   384 KBytes  52.4 Kbits/sec&lt;br /&gt;&lt;span class=" high"&gt;[SUM]  0.0-60.0 sec  3.75 MBytes   524 Kbits/sec&lt;/span&gt;&lt;/pre&gt;&lt;p class="note"&gt;This is one of the very valid reasons Service Providers hate peer-to-peer file sharing services like BitTorrent.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8510387605803415922?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8510387605803415922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/hqf-intra-class-fair-queuing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8510387605803415922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8510387605803415922'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/hqf-intra-class-fair-queuing.html' title='HQF: intra-class fair queuing'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8923851573247964413</id><published>2009-11-13T07:29:00.002+01:00</published><updated>2009-11-13T07:29:00.163+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EEM'/><category scheme='http://www.blogger.com/atom/ns#' term='WAN'/><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Detect DOS attacks with EEM</title><content type='html'>&lt;p&gt;Someone sent me an interesting question a while ago: “is it possible to detect DOS flooding with an EEM applet?” Of course it is (assuming the DOS attack results in very high load on the Internet-facing interface) and the best option is the EEM interface event detector.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_K_pkZO5-tTg/SvqgN9HAKdI/AAAAAAAAD1M/VBtsRwzkdbY/s1600-h/Detect+interface+overload.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_K_pkZO5-tTg/SvqgN9HAKdI/AAAAAAAAD1M/VBtsRwzkdbY/s400/Detect+interface+overload.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="more"&gt;Interface event detector is just one of the many topics covered in the &lt;a href="http://www.ioshints.info/Embedded_Event_Manager_(EEM)_Workshop"&gt;Embedded Event Manager (EEM) workshop&lt;/a&gt;. You can attend an online version of the workshop or we can organize a dedicated event for your networking team.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;The &lt;strong&gt;interface &lt;/strong&gt;event detector is more user-friendly than the SNMP event detector. You can specify interface name and parameter name in the &lt;strong&gt;interface &lt;/strong&gt;event detector; with SNMP event detector you have to specify SNMP object identifier (OID). The &lt;strong&gt;interface &lt;/strong&gt;event detector stores the interface name, measured parameter name and its value in three convenient environment variables that you can use to generate &lt;em&gt;syslog &lt;/em&gt;messages or &lt;a href="http://wiki.nil.com/Send_email_from_EEM_applet"&gt;alert the operators via e-mail&lt;/a&gt;.&lt;/p&gt;&lt;div class='note'&gt;&lt;p&gt;Notes:&lt;/p&gt;&lt;ul class="Bullet1"&gt;&lt;li&gt;You must use the &lt;strong&gt;bandwidth&lt;/strong&gt; command to set the interface bandwidth to the actual line speed.&lt;/li&gt;&lt;li&gt;Set the &lt;strong&gt;bandwidth &lt;/strong&gt;to the access speed of your Internet service on Ethernet uplinks.&lt;/li&gt;&lt;li&gt;The range of the &lt;strong&gt;rxload &lt;/strong&gt;and &lt;strong&gt;txload &lt;/strong&gt;parameters is between 0 and 255.&lt;/li&gt;&lt;li&gt;Interface load is computed as 256 * input-or-output-rate / configured-bandwidth.&lt;/li&gt;&lt;li&gt;The input-or-output-rate is a weighted average computed over the &lt;strong&gt;load-interval&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8923851573247964413?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8923851573247964413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/detect-dos-attacks-with-eem.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8923851573247964413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8923851573247964413'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/detect-dos-attacks-with-eem.html' title='Detect DOS attacks with EEM'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_K_pkZO5-tTg/SvqgN9HAKdI/AAAAAAAAD1M/VBtsRwzkdbY/s72-c/Detect+interface+overload.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-6889985534772698636</id><published>2009-11-12T06:49:00.024+01:00</published><updated>2009-11-12T18:47:06.655+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'>IPv6 in the Data Center: is Cisco ready?</title><content type='html'>&lt;p&gt;With the recent Cisco’s push into the Data Center environment and all the (not so very unreasonable) fuss around IPv4 address depletion and imminent need for IPv6, I wanted to check whether an all-Cisco shop could do the first step: deploy IPv6 on Internet-facing production servers. If you follow the various design guidelines, your setup will have at least the following elements (and I bet someone from Cisco has already told you that you also need XML firewall, Ironport and WAAS appliance):&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_K_pkZO5-tTg/SvcTR_btgXI/AAAAAAAAD0s/rL7NWFXPAVw/s1600-h/ipv6_dc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_K_pkZO5-tTg/SvcTR_btgXI/AAAAAAAAD0s/rL7NWFXPAVw/s400/ipv6_dc.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;Now let’s see how well these boxes support IPv6. &lt;/p&gt;&lt;p class="note"&gt;I’m describing the Data Center IPv6 deployment issues in the &lt;a href="http://www.ioshints.info/Enterprise_IPv6_Deployment_Workshop"&gt;&lt;em&gt;Enterprise IPv6 Deployment&lt;/em&gt; workshop&lt;/a&gt;. The diagram above was taken straight from the workshop materials.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;Routers and switches (both Catalysts running SXI release and Nexuses running latest NX-OS) support everything you need, including IPv6 layer 3 virtualization (IPv6 in VRF, also known as 6vPE).&lt;/p&gt;&lt;p class="note"&gt;I couldn’t find 6vPE support in IOS XE Release 2, but then you’d most likely need it on the core switches, not on the edge routers.&lt;/p&gt;&lt;p&gt;ASA is a bit of a problem – the current software release does not support failover configurations with IPv6. The situation rapidly worsens as you go deeper into the &lt;em&gt;Application Networking Services&lt;/em&gt;. I wasn’t able to find any mention of IPv6 in ACE, XML Gateway or WAAS configuration guides. If I’ve missed something, please let me know.&lt;/p&gt;&lt;p&gt;The status of IPv6 support in various Data Center components is summarized in the following table:&lt;/p&gt;&lt;table class="codeTable"&gt;&lt;tr&gt;&lt;th&gt;&lt;p&gt;Equipment&lt;/p&gt;&lt;/th&gt;&lt;th&gt;&lt;p&gt;Level of IPv6 support&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Routers&lt;/td&gt;&lt;td&gt;Yes (6vPE on IOS XE might be missing)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Firewalls (ASA)&lt;/td&gt;&lt;td&gt;No redundancy (IPv6 failover doesn’t work)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Data center switches&lt;/td&gt;&lt;td&gt;Yes (Catalyst and Nexus)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Firewall Service Module (FWSM)&lt;/td&gt;&lt;td&gt;Not in transparent mode, on the main CPU (awfully slow) in routed mode.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Load balancers (ACE)&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Application-level firewall (XML Gateway)&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WAN optimization (WAAS)&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ironport&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-6889985534772698636?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/6889985534772698636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/ipv6-in-data-center-is-cisco-ready.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6889985534772698636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6889985534772698636'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/ipv6-in-data-center-is-cisco-ready.html' title='IPv6 in the Data Center: is Cisco ready?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_K_pkZO5-tTg/SvcTR_btgXI/AAAAAAAAD0s/rL7NWFXPAVw/s72-c/ipv6_dc.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-1971908693988420028</id><published>2009-11-11T07:19:00.001+01:00</published><updated>2009-11-13T10:41:10.026+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>First HQF impressions: excellent job</title><content type='html'>&lt;p&gt;Several readers &lt;a href="http://blog.ioshints.info/2009/11/cb-wfq-misconceptions.html"&gt;told me&lt;/a&gt; that the &lt;a href="http://www.cisco.com/en/US/docs/ios/qos/configuration/guide/qos_frhqf_support.html"&gt;Hierarchical Queuing Framework&lt;/a&gt; introduced in IOS releases 12.4(20)T and 15.0 (why do I always have the urge to write 12.5?) works &lt;a href="http://blog.ioshints.info/2009/11/cb-wfq-misconceptions.html"&gt;much better than CB-WFQ&lt;/a&gt;. After spending several hours trying to break HQF, I have to concur with them: Cisco’s engineers did a splendid job. However, the HQF behavior might be slightly counterintuitive to those that became too familiar with CB-WFQ. &lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;For example, faced with this configuration …&lt;/p&gt;&lt;pre class="code"&gt;policy-map WAN&lt;br /&gt; class P5001&lt;br /&gt;    bandwidth percent 20&lt;br /&gt;    fair-queue&lt;br /&gt; class P5003&lt;br /&gt;    bandwidth percent 30&lt;br /&gt; class class-default&lt;br /&gt;    fair-queue&lt;/pre&gt;&lt;p&gt;… one might assume that all three classes will get a proportional part of the remaining bandwidth (50%). Not true. An HQF class with a &lt;strong&gt;bandwidth &lt;/strong&gt;allocation gets as much as it’s asked for. It might get more, but if all classes are fully congested, the remaining bandwidth is distributed equally between classes without explicit bandwidth allocation.&lt;/p&gt;&lt;p&gt;When I ran 30 parallel TCP sessions across a 2 Mbps link (10 TCP sessions in each class), I’ve got these results:&lt;/p&gt;&lt;pre class="code"&gt;a1#&lt;strong&gt;show policy-map interface serial 0/1/0 | include map|bps&lt;/strong&gt;&lt;br /&gt;    Class-map: P5001 (match-all)&lt;br /&gt;      30 second offered rate 418000 bps, drop rate 21000 bps&lt;br /&gt;      bandwidth 20% (400 kbps)&lt;br /&gt;    Class-map: P5003 (match-all)&lt;br /&gt;      30 second offered rate 613000 bps, drop rate 15000 bps&lt;br /&gt;      bandwidth 30% (600 kbps)&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      30 second offered rate 997000 bps, drop rate 0 bps&lt;/pre&gt;&lt;p&gt;As you can see, all the remaining bandwidth was used by the best-effort &lt;strong&gt;class-default&lt;/strong&gt;.&lt;/p&gt;&lt;h4 id="Testbed"&gt;Testbed&lt;/h4&gt;&lt;p&gt;I was performing the QoS tests on a 2Mbps PPP link between two 2800-series routers running IOS release 15.0(1)M. The relevant parts of the router configuration are shown below.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Access lists&lt;/strong&gt; permit TCP and UDP traffic to the same port. I needed a mix of TCP and UDP to test intra-class queuing behavior.&lt;/p&gt;&lt;pre class="code"&gt;ip access-list extended P5001&lt;br /&gt; permit tcp any any eq 5001&lt;br /&gt; permit tcp any eq 5001 any&lt;br /&gt; permit udp any any eq 5001&lt;br /&gt; permit udp any eq 5001 any&lt;br /&gt;ip access-list extended P5002&lt;br /&gt; permit tcp any any eq 5002&lt;br /&gt; permit tcp any eq 5002 any&lt;br /&gt; permit udp any any eq 5002&lt;br /&gt; permit udp any eq 5002 any&lt;br /&gt;ip access-list extended P5003&lt;br /&gt; permit tcp any any eq 5003&lt;br /&gt; permit tcp any eq 5003 any&lt;br /&gt; permit udp any any eq 5003&lt;br /&gt; permit udp any eq 5003 any&lt;/pre&gt;&lt;p&gt;Class maps:&lt;/p&gt;&lt;pre class="code"&gt;class-map match-all P5001&lt;br /&gt; match access-group name P5001&lt;br /&gt;class-map match-all P5003&lt;br /&gt; match access-group name P5003&lt;br /&gt;class-map match-all P5002&lt;br /&gt; match access-group name P5002&lt;/pre&gt;&lt;p&gt;Interface configuration:&lt;/p&gt;&lt;pre class="code"&gt;interface Serial0/1/0&lt;br /&gt; bandwidth 2000&lt;br /&gt; ip address 10.0.1.1 255.255.255.252&lt;br /&gt; encapsulation ppp&lt;br /&gt; ip ospf 1 area 0&lt;br /&gt; load-interval 30&lt;br /&gt; !&lt;br /&gt; service-policy output WAN&lt;/pre&gt;&lt;p&gt;I used &lt;em&gt;iperf &lt;/em&gt;to generate TCP load and my own &lt;em&gt;flood.pl &lt;/em&gt;to generate UDP load. The following command was used to start &lt;em&gt;iperf&lt;/em&gt;:&lt;/p&gt;&lt;pre class="code"&gt;$ &lt;strong&gt;iperf -c &lt;/strong&gt;&lt;strong&gt;&lt;em&gt;host&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt; -t 3600 -p &lt;/strong&gt;&lt;strong&gt;&lt;em&gt;port&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt; -i 60 -P 10&lt;/strong&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-1971908693988420028?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/1971908693988420028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/first-hqf-impressions-excellent-job.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1971908693988420028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1971908693988420028'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/first-hqf-impressions-excellent-job.html' title='First HQF impressions: excellent job'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-538419953763933946</id><published>2009-11-10T07:28:00.009+01:00</published><updated>2009-11-10T12:24:48.963+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>Solution: Bandwidth+Police actions in CB-WFQ</title><content type='html'>&lt;p&gt;Most of the respondents to my &lt;a href="http://blog.ioshints.info/2009/11/challenge-cb-wfq-bandwidthpolice.html"&gt;last week’s challenge&lt;/a&gt; got it almost right. The minor (common) error was the assumption that &lt;strong&gt;police rate percent 50 &lt;/strong&gt;would result in a TCP session getting 50% of the bandwidth. Eyal got that right: the &lt;a href="http://wiki.nil.com/Policing_vs_shaping"&gt;TCP throughput is always significantly lower than that&lt;/a&gt; due to frequent drops caused by low burst sizes assumed by the &lt;strong&gt;police &lt;/strong&gt;command and resulting TCP restarts (the most I was able to push through was around 90 kbps; half of the bandwidth would be 128 kbps).&lt;/p&gt;&lt;p&gt;Many respondents got the third case (&lt;strong&gt;bandwidth &lt;/strong&gt;class, &lt;strong&gt;police &lt;/strong&gt;class and &lt;strong&gt;default-class&lt;/strong&gt; all active at the same time) wrong. Vaidotas was guessing in the right direction and Petr knows the correct answer, but did not want to spoil the fun. Here’s the surprising result: the &lt;strong&gt;bandwidth &lt;/strong&gt;class gets almost all the bandwidth. Sometimes the TCP sessions in other classes wouldn’t even start.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;To understand that behavior, we’d need to go deep into the bowels of Weighted Fair Queuing … but I have to &lt;a href="http://blog.ioshints.info/2009/11/overloaded.html"&gt;deliver my presentation first&lt;/a&gt;. In the meantime, enjoy a &lt;a href="http://blog.internetworkexpert.com/2008/08/17/insights-on-cbwfq/"&gt;wonderful in-depth article written by Petr Lapukhov&lt;/a&gt;.&lt;/p&gt;&lt;h4&gt;Recommendation&lt;/h4&gt;&lt;p&gt;If a single class in an outbound &lt;strong&gt;service-policy &lt;/strong&gt;uses the &lt;strong&gt;bandwidth &lt;/strong&gt;action, all the other classes should use the &lt;strong&gt;bandwidth&lt;/strong&gt; action as well. The classes without the &lt;strong&gt;bandwidth &lt;/strong&gt;action and the default class might get starved during congestions.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-538419953763933946?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/538419953763933946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/summary-bandwidthpolice-actions-in-cb.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/538419953763933946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/538419953763933946'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/summary-bandwidthpolice-actions-in-cb.html' title='Solution: Bandwidth+Police actions in CB-WFQ'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-950751116664509415</id><published>2009-11-09T07:06:00.000+01:00</published><updated>2009-11-09T07:06:00.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>ITU: Grabbing a piece of the IPv6 pie?</title><content type='html'>&lt;p&gt;ITU (the organization formerly known as CCITT) is having a bit of a relevance problem these days: its flagship technological achievements, including X.25, ISDN, ATM and SDH are dead or headed toward oblivion … and a former pariah, a group of geeks, is stealing the show and rolling out the Internet. No wonder their bureaucrats are having a hard time figuring out how to justify their existence. For years they’ve been &lt;a href="http://www.itu.int/ITU-T/tsb-director/itut-wsis/files/zhao-netgov01.doc"&gt;lamenting how much they’ve contributed to the Internet&lt;/a&gt; (highly recommended reading for Monty Python fans) and how their &lt;a href="http://www.youtube.com/watch?v=Gk4Ntcq5uNg"&gt;precious&lt;/a&gt; contributions were unacknowledged. Now they came forth with a “wonderful” idea: the history of IPv4 address allocation proves that the wealthy nations and early adopters managed to grab disproportionate parts of the IPv4 address space (well, that’s true), so they made it their mission to protect the poor and underdeveloped countries in the brave new IPv6 world. In short, they want to become an independent address allocation entity (RIR). It looks like another worldwide bureaucracy is exactly what we need on top of all the other problems we have with IPv6 deployment.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;Obviously there’s no need for ITU-operated RIR, it’s a too-obvious power grab plot, but it finally pushed &lt;a href="http://www.nro.net/"&gt;NRO&lt;/a&gt;, &lt;a href="http://www.icann.org/"&gt;ICANN&lt;/a&gt; (and all regional registries) to develop a &lt;a href="http://www.nro.net/documents/nro50.html"&gt;fact sheet explaining the relevant IPv6 facts and address allocation process in layman terms&lt;/a&gt;. This document was forwarded to ITU together with an &lt;a href="http://ipv6.go6.si/wp-content/uploads/2009/11/NT_to_Malcolm_Johnson_21-10.pdf"&gt;“interesting” cover letter&lt;/a&gt; (a must-read). &lt;/p&gt;&lt;p class="more"&gt;If you want to know the gory details, read the &lt;a href="http://www.ripe.net/ripe/meetings/ripe-59/steno-transcripts.php?steno=Main-091007PM1"&gt;transcript notes of the RIPE-59 meeting&lt;/a&gt; (the interesting parts start in the second half with the presentation by Nick Thorne)&lt;/p&gt;&lt;p&gt;However, this is not a new development. Their quest started years ago with two ideas: either independent national registries or ITU-as-a-registry (see the &lt;a href="http://www.internetgovernance.org/pdf/igp-v6.pdf"&gt;Competition in IPv6 Addressing&lt;/a&gt; report) and was reignited this year when it became obvious widespread IPv6 deployment is imminent. The “&lt;a href="http://www.itu.int/osg/dsg/speeches/2009/apr15.ppt"&gt;IPv6 Public Policy Considerations&lt;/a&gt;” presentation by ITU Deputy Secretary General is full of subtle and not-so-subtle hints about the need for deeper ITU involvement in the IPv6 deployment process.&lt;/p&gt;&lt;p class="info"&gt;You simply have to go through that presentation. Even if you don’t want to know its contents, its copious selection of colors and fonts will enhance your inner artistic self (Health warning: prolonged exposure might cause uncontrolled laughter). One also has to wonder whether ITU sees WWW as anything more than a delivery mechanism for Microsoft Office files.&lt;/p&gt;&lt;p&gt;The whole thing would be laughable if it wouldn’t be dead serious: information like the above-mentioned presentation is distributed to national members of ITU. If these members have limited exposure to the actual IPv6 issues, they might act according to the ITU recommendations … and this is where you can step in: spread the word. Educate. Talk about IPv6. Explain it … but keep it simple ;)&lt;/p&gt;&lt;p&gt;Last but not least, hat tip to &lt;a href="http://www.pragma.si/"&gt;Jan Žorž&lt;/a&gt; for &lt;a href="http://ipv6.go6.si/?p=1826"&gt;bringing this issue&lt;/a&gt; to my attention. If only he’d finally realize he needs to &lt;a href="http://ipv6.go6.si/"&gt;write a bilingual blog&lt;/a&gt; …&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-950751116664509415?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/950751116664509415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/itu-grabbing-piece-of-ipv6-pie.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/950751116664509415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/950751116664509415'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/itu-grabbing-piece-of-ipv6-pie.html' title='ITU: Grabbing a piece of the IPv6 pie?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8822587517504440667</id><published>2009-11-09T07:05:00.001+01:00</published><updated>2009-11-09T07:05:00.265+01:00</updated><title type='text'>Overloaded …</title><content type='html'>&lt;p&gt;Last week I’ve published &lt;a href="http://blog.ioshints.info/2009/11/challenge-cb-wfq-bandwidthpolice.html"&gt;two&lt;/a&gt; &lt;a href="http://blog.ioshints.info/2009/11/off-topic-universal-engineers.html"&gt;posts&lt;/a&gt; that deserve a follow-up/summary. Don’t worry, it’s coming. I’ve been extremely busy working on a customized version of the “&lt;a href="http://www.ioshints.info/Market_trends_in_Service_Provider_networks"&gt;Market trends in Service Provider networks&lt;/a&gt;” presentation that I’m delivering tomorrow … and I’ve managed to stumble across two “interesting” topics involving ITU; the first one is described in the next post and the second one needs a bit more investigation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8822587517504440667?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8822587517504440667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/overloaded.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8822587517504440667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8822587517504440667'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/overloaded.html' title='Overloaded …'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-4926793287947992678</id><published>2009-11-06T07:24:00.004+01:00</published><updated>2009-11-10T12:24:16.434+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>Challenge: CB-WFQ Bandwidth+Police behavior</title><content type='html'>&lt;p&gt;I have to admit I was somewhat surprised by the lab test results I’ve &lt;a href="http://blog.ioshints.info/2009/11/cb-wfq-misconceptions.html"&gt;published in my previous CB-WFQ post&lt;/a&gt;. It looks like we’ve been fed misleading information about (classic) CB-WFQ behavior for years.&lt;/p&gt;&lt;p class="note"&gt;Don’t tell me that things are completely different with HQF implemented in IOS releases 12.4(late)T and 15.0. I know that … but 95+% of the installed base do not use those releases.&lt;/p&gt;&lt;p&gt;Let’s see whether you can figure out what my next lab test results showed. I’ve been running three parallel TTCP sessions on ports 5001, 5002 and 5003 across a 256 kbit point-to-point link. Here’s the relevant part of my router configuration:&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;pre class="code"&gt;policy-map WAN&lt;br /&gt; class P5001&lt;br /&gt;  bandwidth percent 50&lt;br /&gt; class P5002&lt;br /&gt;   police rate percent 50&lt;br /&gt;     violate-action drop&lt;br /&gt;!&lt;br /&gt;interface Serial0/1/0&lt;br /&gt; bandwidth 256&lt;br /&gt; clock rate 256000&lt;br /&gt; ip address 10.0.6.1 255.255.255.252&lt;br /&gt; encapsulation ppp&lt;br /&gt; ip ospf 1 area 0&lt;br /&gt; load-interval 30&lt;br /&gt; service-policy output WAN&lt;/pre&gt;&lt;p class="info"&gt;TTCP is a program that sends meaningless data across a TCP session. It’s a nice load to use in a QoS test, as it uses TCP stack (ensuring it behaves like a real application) but still sends the data as fast as possible (as it spends no time generating it).&lt;/p&gt;&lt;p&gt;What would be your answers to these questions?&lt;/p&gt;&lt;ul class="Bullet1"&gt;&lt;li&gt;A single TTCP session is running on port 5001. How much bandwidth does it get?&lt;/li&gt;&lt;li&gt;A single TTCP session is running on port 5002. How much bandwidth does it get?&lt;/li&gt;&lt;li&gt;Three parallel TTCP sessions are running on ports 5001, 5002 and 5003. How much bandwidth does each session get?&lt;/li&gt;&lt;/ul&gt;&lt;p class='note'&gt;Try to find the answer before &lt;a href="http://blog.ioshints.info/2009/11/summary-bandwidthpolice-actions-in-cb.html"&gt;reading the solution&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-4926793287947992678?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/4926793287947992678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/challenge-cb-wfq-bandwidthpolice.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/4926793287947992678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/4926793287947992678'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/challenge-cb-wfq-bandwidthpolice.html' title='Challenge: CB-WFQ Bandwidth+Police behavior'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-2904181527210439382</id><published>2009-11-05T06:18:00.000+01:00</published><updated>2009-11-05T07:05:22.717+01:00</updated><title type='text'>Off-topic: universal engineers</title><content type='html'>&lt;p&gt;Decades ago when I was still in high school and working on a programming project during the summer break, an IT old-timer gave me the following bit of advice: “Remember, God created professions so that everyone could do the job he’s qualified to do”. It took me years before I understood what he had been trying to tell me, but this seems to be an industry-wide disease. Judging by some of the e-mails I receive a lot of people who are proficient in other IT specialties think they can configure the routers with a little help of good uncle Google and free support from fellow bloggers.&lt;/p&gt;&lt;p&gt;It seems the “ability” of a “generic” IT employee to tackle any problem somewhat related to IT is also unique to our industry. Last week a woodworker was installing my kitchen and flatly refused to connect the electric cable of the ceramic cooktop to the wall outlet citing potential liabilities (please remember: I’m not living in US but in Central Europe). An HTML programmer asked to configure the enterprise firewall might not be so reluctant. Why do you think some people in our industry believe they are universal engineers?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-2904181527210439382?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/2904181527210439382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/off-topic-universal-engineers.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/2904181527210439382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/2904181527210439382'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/off-topic-universal-engineers.html' title='Off-topic: universal engineers'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-1838589629717785252</id><published>2009-11-04T06:58:00.003+01:00</published><updated>2009-11-04T06:58:00.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>CB-WFQ misconceptions</title><content type='html'>&lt;p&gt;Reading various documents describing &lt;em&gt;Class-Based Weighted-Fair-Queueing&lt;/em&gt; (CB-WFQ) one gets the impression that the following configuration …&lt;/p&gt;&lt;pre class="code"&gt;class-map match-all High&lt;br /&gt; match access-group name High&lt;br /&gt;!&lt;br /&gt;policy-map WAN&lt;br /&gt; class High&lt;br /&gt;  bandwidth percent 50&lt;br /&gt;!&lt;br /&gt;interface Serial0/1/0&lt;br /&gt; bandwidth 256&lt;br /&gt; service-policy output WAN&lt;br /&gt;!&lt;br /&gt;ip access-list extended High&lt;br /&gt; permit ip any host 10.0.3.1&lt;br /&gt; permit ip host 10.0.3.1 any&lt;/pre&gt;&lt;p&gt;… allocates 128 kbps to the traffic to/from IP host 10.0.3.1 and distributes the remaining 128 kbps fairly between conversations in the default class.&lt;/p&gt;&lt;p&gt;I am overly familiar with weighted fair queuing (I was developing QoS training for Cisco when WFQ just left the drawing board) and was thus always wondering how they manage to implement that behavior with WFQ structures. A &lt;a href="http://blog.ioshints.info/2009/10/hierarchical-queueing-framework-queue.html"&gt;comment made by Petr Lapukhov&lt;/a&gt; re-triggered my curiosity and prompted me to do some actual lab tests.&lt;/p&gt;&lt;p&gt;The answer is simple: CB-WFQ does not work as advertised.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;To prove this claim, I’ve started two parallel TTCP sessions: one to IP address 10.0.3.1, the other to IP address 10.0.3.2. This is what &lt;strong&gt;show policy-map interface &lt;/strong&gt;command displayed after a minute:&lt;/p&gt;&lt;pre class="code"&gt;a1#&lt;strong&gt;show policy-map int ser 0/1/0&lt;/strong&gt;&lt;br /&gt; Serial0/1/0&lt;br /&gt;&lt;br /&gt;  Service-policy output: WAN&lt;br /&gt;&lt;br /&gt;    Class-map: High (match-all)&lt;br /&gt;      5996 packets, 3424386 bytes&lt;br /&gt;      &lt;span class=" high"&gt;30 second offered rate 200000 bps&lt;/span&gt;, drop rate 0 bps&lt;br /&gt;      Match: access-group name High&lt;br /&gt;      Queueing&lt;br /&gt;        Output Queue: Conversation 73&lt;br /&gt;        Bandwidth 50 (%)&lt;br /&gt;        Bandwidth 128 (kbps)Max Threshold 64 (packets)&lt;br /&gt;        (pkts matched/bytes matched) 5981/3421234&lt;br /&gt;        (depth/total drops/no-buffer drops) 4/0/0&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      516 packets, 270445 bytes&lt;br /&gt;      &lt;span class=" high"&gt;30 second offered rate 6000 bps&lt;/span&gt;, drop rate 0 bps&lt;br /&gt;      Match: any&lt;/pre&gt;&lt;p&gt;The printout clearly demonstrates that the TCP session in the &lt;em&gt;High&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;class got way more than its allocated share while the TCP session in the &lt;em&gt;class-default&lt;/em&gt; got 30 times less bandwidth. &lt;/p&gt;&lt;h4&gt;Conclusion&lt;/h4&gt;&lt;p&gt;The conversations in the &lt;em&gt;class-default &lt;/em&gt;are treated as low-priority conversations and get significantly less bandwidth than other traffic classes.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-1838589629717785252?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/1838589629717785252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/cb-wfq-misconceptions.html#comment-form' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1838589629717785252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1838589629717785252'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/cb-wfq-misconceptions.html' title='CB-WFQ misconceptions'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-3953716776122325214</id><published>2009-11-03T07:04:00.002+01:00</published><updated>2009-11-12T18:47:06.656+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'>Another successful IPv6 presentation</title><content type='html'>&lt;p&gt;Last week I’ve delivered another very successful &lt;a href="http://www.ioshints.info/Enterprise_IPv6_Deployment_Workshop"&gt;&lt;em&gt;IPv6 Deployment in Enterprise Networks&lt;/em&gt;&lt;/a&gt; presentation. It’s amazing how far into the interesting details we usually get even though the presentation is purposefully a high-level one. This time we’ve been discussing the liabilities the Service Providers might get exposed to when using Large Scale NAT and whether the enterprise networks using HTTP proxies for Internet access could avoid the migration to IPv6. &lt;/p&gt;&lt;p class="info"&gt;If you’re working in a large enterprise network and think your IT team could benefit from this presentation or associated &lt;a href="http://www.ioshints.info/Enterprise_IPv6_Deployment_Workshop"&gt;IPv6 workshop&lt;/a&gt;, &lt;a href="http://www.ioshints.info/about/send.php?StySu=Workshop+enquiry"&gt;get in touch with me&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-3953716776122325214?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/3953716776122325214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/another-successful-ipv6-presentation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/3953716776122325214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/3953716776122325214'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/another-successful-ipv6-presentation.html' title='Another successful IPv6 presentation'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-1757524300601634994</id><published>2009-11-02T06:47:00.002+01:00</published><updated>2009-11-02T15:47:58.678+01:00</updated><title type='text'>Book review: Foundation of Green IT</title><content type='html'>&lt;p&gt;If you want to understand the real impact of the recent Data Center hype without getting pulled into the technology morass the vendors so copiously spread in their white papers, read the &lt;em&gt;Foundation of Green IT &lt;/em&gt;book published by Prentice Hall. Its author, Marty Poniatowski, uses two case studies to illustrate enormous savings that can be realized through server and storage consolidation. I loved the first half of the book: the author avoids the technology issues (I loved the introduction to RAID: “I do not cover RAID background … the Internet has a wealth of information on RAID”) and uses real-life data gathered in actual project to illustrate the savings. Each case study has several chapters, ranging from starting point discovery through implementation plans and ROI analysis; exactly what you need if you’re considering going down the data center redesign path. The “Desktop Virtualization” and “Data Replication and Disk Technology Advancements” chapters are thrown in for good measure.&lt;/p&gt;&lt;p&gt;The author makes the server and storage consolidation case studies even more interesting by describing actual products/solutions and inserting screenshots of actual reports throughout the text. Not surprisingly, he’s describing what he knows best: HP servers, EMC storage and VMware virtualization; a clear indication how far Cisco has to go to win the hearts and minds of the data center market.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;After the fantastic first half, the second half is pure disappointment. It starts with three networking chapters that clearly show networking is not the author’s strong point. All of a sudden, the interesting real-life details are replaced with technology introductions … although the author quotes an IDC report in the preface claiming that the technology represents #9 (out of 10) challenge in data center environments. You’re pulled into quagmire of IOS release numbering and PSIRT advisories; the contrast with the excellent first half is all too obvious. There’s also no ROI analysis. No surprise: the author advocates replacing 10 obsolete low-end Fast Ethernet switches with a fully redundant Catalyst &lt;del class='wrong'&gt;6507&lt;/del&gt;&lt;ins class='corr'&gt;C4507R-E&lt;/ins&gt;; I’d love to see a ROI analysis that can justify that investment based on power and cooling savings.&lt;/p&gt;&lt;p&gt;The last part is a hodgepodge of topics. I was looking forward to the &lt;em&gt;SQL Server Consolidation&lt;/em&gt; chapter; more so as it was written by a Microsoft’s engineer. It was boring and could be summarized in a single sentence: SQL Server is another application that can be virtualized using the rules outlined in the first five chapters. &lt;/p&gt;&lt;p&gt;The &lt;em&gt;Green Data Center&lt;/em&gt; chapter is undoubtedly the best part of the second half of the book; it succinctly describes the issues of cooling, air flow, data and power cabling … but then the quality starts sliding down with &lt;em&gt;Cloud Computing&lt;/em&gt; (no wonder; I have yet to find someone who can write something I will find interesting about this vaporware architecture) and &lt;em&gt;Simple Power Savings&lt;/em&gt; (summary: turn off your computer at night) chapters. The last chapter; &lt;em&gt;Managed Services: Remote Monitoring &lt;/em&gt;is a pure product description of a software product the author’s company is selling.&lt;/p&gt;&lt;p&gt;Regardless of the shortcomings of the last chapters (which were probably thrown in to expand the scope; a better title would be &lt;em&gt;Foundation of Green Data Center&lt;/em&gt;), I can strongly recommend the book for its excellent descriptions of server virtualization and storage consolidation issues. I also have to congratulate its author for his marketing prowess; the whole book is a great case study/white paper for the services his company offers … and we’re willing to pay for the privilege to read it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-1757524300601634994?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/1757524300601634994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/11/book-review-foundation-of-green-it.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1757524300601634994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/1757524300601634994'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/11/book-review-foundation-of-green-it.html' title='Book review: Foundation of Green IT'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8878097694651841377</id><published>2009-10-30T07:25:00.000+01:00</published><updated>2009-10-30T07:25:00.060+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QoS'/><title type='text'>Hierarchical Queueing Framework: queue limits and output drops</title><content type='html'>&lt;p&gt;The QoS behavior in Cisco IOS has changed significantly with the introduction of the &lt;a href="http://www.cisco.com/en/US/docs/ios/qos/configuration/guide/qos_frhqf_support.html"&gt;Hierarchical QoS Framework (HQF)&lt;/a&gt; in IOS release 12.4(20)T. Cisco is slowly producing in-depth articles describing the changes; the first one I’ve found documents the &lt;a href="http://www.cisco.com/en/US/products/hw/routers/ps341/products_tech_note09186a0080af893d.shtml"&gt;old and new output queue limits and output drops&lt;/a&gt;.&lt;/p&gt;&lt;p class="more"&gt;I’ve also added the link to this article to the &lt;a href="http://wiki.nil.com/Queuing_Principles_in_Cisco_IOS"&gt;&lt;em&gt;Further reading&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;section of my &lt;a href="http://wiki.nil.com/Queuing_Principles_in_Cisco_IOS"&gt;Queuing principles in Cisco IOS&lt;/a&gt; article.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8878097694651841377?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8878097694651841377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/hierarchical-queueing-framework-queue.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8878097694651841377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8878097694651841377'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/hierarchical-queueing-framework-queue.html' title='Hierarchical Queueing Framework: queue limits and output drops'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-5835443908814613833</id><published>2009-10-29T20:46:00.002+01:00</published><updated>2009-10-29T20:46:51.492+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'>IPv6 labs are no longer available on Cisco’s Partner Education Connection</title><content type='html'>&lt;p&gt;Csaba asked me about the availability of our &lt;a href="http://blog.ioshints.info/2008/02/ipv6-remote-labs-on-partner-education.html"&gt;IPv6 remote labs on Partner Education Connection&lt;/a&gt;. He wrote:&lt;/p&gt;&lt;blockquote class="cite"&gt;I was happy when I found this information, but after a while I realized that IPv6 labs are no more available on PEC site. Do you know any details why this topic has been removed from PEC or it can be that IPv6 is still there just I couldn't find it?&lt;/blockquote&gt;&lt;p&gt;Cisco has removed almost all external remote labs from PEC in October. To increase the confusion, some of them might still appear in the catalog, but you cannot start them. The only thing we could do was to inform the users landing on our web site that the labs are no longer available and that they could buy them from our product catalog.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-5835443908814613833?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/5835443908814613833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/ipv6-labs-are-no-longer-available-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/5835443908814613833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/5835443908814613833'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/ipv6-labs-are-no-longer-available-on.html' title='IPv6 labs are no longer available on Cisco’s Partner Education Connection'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-7906717417195574972</id><published>2009-10-28T06:49:00.000+01:00</published><updated>2009-11-12T18:47:06.656+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workshop'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'>IPv6-capable or IPv6-ready: is it enough?</title><content type='html'>&lt;p&gt;During the &lt;a href="http://blog.ioshints.info/2009/10/ipv6-summit-in-slovenia.html"&gt;IPv6 summit in Slovenia&lt;/a&gt; I’ve participated in a roundtable organized by our &lt;a href="http://www.mvzt.gov.si/en/"&gt;Ministry of Higher Education, Science and Technology&lt;/a&gt;. One of my points was that the government should require true IPv6 support in all its IT procurement processes to promote IPv6 adoption (I have to admit I’ve borrowed a few ideas from Geoff Huston’s “&lt;a href="http://www.potaroo.net/ispcol/2009-09/v6trans.html"&gt;Is the Transition to IPv6 a Market Failure?&lt;/a&gt;” article) … and one of the participants (coming from the Service Provider industry) answered that “that’s common hygiene”. I’m not so sure.&lt;/p&gt;&lt;p class="info"&gt;Topics like this are covered in my &lt;a href="http://www.ioshints.info/Enterprise_IPv6_Deployment_Workshop"&gt;Enterprise IPv6 Deployment workshop&lt;/a&gt;. Learn more about my workshops &lt;a href="http://www.ioshints.info/"&gt;from my web site&lt;/a&gt;.&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;To start with, vendors will tell you that their products are “IPv6-capable” or “IPv6-ready”. The first term is (in my opinion) pure vaporware. Anything that was produced in the last 10 years can be made to run IPv6 (unless it’s a consumer product using severely limited hardware), so the “IPv6-capable” label is meaningless. For example, Cisco’s &lt;a href="http://www.cisco.com/en/US/products/ps9586/tsd_products_support_series_home.html"&gt;ACE Web Application Firewall&lt;/a&gt; seems to be IPv6-capable (translated from marketese: I haven’t been able to find a single occurrence of IPv6 in its administration or user’s guide, but I’m positive a software running on a Linux platform can be adapted to support IPv6).&lt;/p&gt;&lt;p&gt;IPv6-ready is more meaningful; it implies that the product actually runs IPv6. However, you should ask (at least) these two questions:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Does IPv6 support the same functionality as IPv4? For example, split DNS support in Cisco IOS works only with IPv4 DNS servers.&lt;/li&gt;&lt;li&gt;Does the product perform IPv6 operations with the same (or similar) speed as IPv4 operations? &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The second question is particularly relevant for hardware-based routers and switches (one cannot imagine an application having significantly different performance when running over IPv6). These devices usually rely on ASICs and &lt;a href="http://blog.ioshints.info/2008/01/tcam-on-catalyst-switches.html"&gt;TCAM&lt;/a&gt; to perform high-speed packet forwarding. The TCAM width (number of bits available in a single TCAM entry) can significantly limit the wire-speed IPv6 capabilities. For example, PFC on a Catalyst 6500 &lt;a href="http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/acl.html"&gt;cannot filter on full 128-bit IPv6 addresses and TCP/UDP port numbers&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-7906717417195574972?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/7906717417195574972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/ipv6-capable-or-ipv6-ready-is-it-enough.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7906717417195574972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7906717417195574972'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/ipv6-capable-or-ipv6-ready-is-it-enough.html' title='IPv6-capable or IPv6-ready: is it enough?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8769904005021449294</id><published>2009-10-27T07:00:00.000+01:00</published><updated>2009-10-27T07:00:02.921+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firewalls'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Followup: What’s wrong with the Zone-Based Firewalls book</title><content type='html'>&lt;p&gt;I’d like to thank all the readers that took time and responded to my question about the failure of my Deploying Zone-Based Firewalls book. The sad short conclusion is: while everyone would love to have an electronic copy of the book, the technology and the mindsets are simply not ready yet. Here are the details:&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;You hate DRM. &lt;/strong&gt;So do I. Every DRM scheme treats you like a common criminal that has to be severely restricted so that he can do the least damage to the “high-value” property the DRM is trying to protect (not to mention the risks of DRM failures, sellers going bankrupt etc.). For example, the Adobe Digital Editions (if it works at all … I was never able to get it running properly on my laptop) allow you to install the same book on a few machines, but you can’t carry it with you as you could a paper copy.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DRM on books is either too restricted or useless&lt;/strong&gt;. As someone wrote in his comment, he prints the every digital book the moment he receives it (and you can always print it to a PDF printer). If the DRM protection doesn’t allow you to print the book, it’s probably too restricted; if it does, it’s useless.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Everyone loves downloadable PDF. &lt;/strong&gt;Pirates included. Let’s be realistic: if you can view protected PDF files within an open-source viewer on Linux (and copy “protected” material from them), anyone with enough time can unprotect them, remove &lt;em&gt;downloading user &lt;/em&gt;indication (PDF is not so hard to modify) and post them.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Safari is no protection.&lt;/strong&gt; The digital books available on Safari in HTML and PDF format can be pirated as easily as anything else. For example, I’ve found the complete &lt;em&gt;MPLS and VPN Security &lt;/em&gt;book from Cisco Press available “for free” in HTML format. I doubt Cisco Press released it that way; it was probably scraped from Safari (or some other HTML source).&lt;/p&gt;&lt;h4&gt;Other issues&lt;/h4&gt;&lt;p&gt;The fact that Cisco was giving away copies in non-DRM PDF format, the stealth marketing the book received (numerous comments indicated the readers using the zone-based firewalls were not aware the book exists) and problems with the ordering platform (you can’t order the DRM-protected PDF from Amazon, you have to do it through Cisco Press web site) didn’t help either.&lt;/p&gt;&lt;p&gt;The title of this post is “what’s wrong with my book”, so I’ll stop here. Many readers made very positive comment and offered useful suggestions that I’ll definitely follow. I would also recommend that you buy your copy of the book on Kindle or through Safari to avoid the Adobe DRM hassle.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8769904005021449294?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8769904005021449294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/followup-whats-wrong-with-zone-based.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8769904005021449294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8769904005021449294'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/followup-whats-wrong-with-zone-based.html' title='Followup: What’s wrong with the Zone-Based Firewalls book'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-4891059016801721705</id><published>2009-10-26T06:47:00.001+01:00</published><updated>2009-10-26T07:01:35.563+01:00</updated><title type='text'>What’s your take on Alcatel-Lucent IP+Optical integration?</title><content type='html'>&lt;p&gt;Approximately a month ago Alcatel-Lucent launched &lt;a href="http://www.alcatel-lucent.com/convergedbackbone/"&gt;&lt;em&gt;Converged Backbone Transformation&lt;/em&gt;&lt;/a&gt; (are they sharing &lt;a href="http://blog.ioshints.info/2009/10/ios-packaging-moores-law-won.html"&gt;marketing wizards with Cisco&lt;/a&gt; … or is the excessive hype an industry-wide phenomenon?): a visionary(?) convergence of IP and optical technologies. If you haven’t heard about it yet, you could try to start with the &lt;a href="http://www.alcatel-lucent.com/wps/DocumentStreamerServlet?LMSG_CABINET=Docs_and_Resource_Ctr&amp;amp;LMSG_CONTENT_FILE=Other/Alcatel-Lucent_Redefines_the_Core_IDC_Newsflash.pdf"&gt;IDC report published on Alcatel-Lucent’s web site&lt;/a&gt; (I’m always amazed how some people manage to tell so little in so many words). &lt;/p&gt;&lt;p&gt;Once you get past the fluff to the details, it could be that they're implementing a lot of common-sense. For example, it looks like the &lt;em&gt;lambda-level grooming &lt;/em&gt;replaces GBIC/SFP transceivers with something that can generate multiple lambdas on the router and feed these lambdas directly into the DWDM gear. In my understanding, it replaces the &lt;em&gt;GE port-GBIC-fiber-GBIC-GE port-lambda generation-DWDM&lt;/em&gt; chain with the shorter and cheaper &lt;em&gt;GE port-lambda GBIC-fiber-lambda port-DWDM&lt;/em&gt; chain (obviously, I might be completely wrong; it’s hard to deduce the details from a press release). &lt;/p&gt;&lt;p&gt;Anyhow, I’d really appreciate your thoughts on this launch. Does it make sense? How does it compare to what Cisco and Juniper are doing? Is this a move in the right direction … or is Alcatel-Lucent playing a catch-up and trying to cover it with a grand &lt;a href="http://en.wikipedia.org/wiki/Marchitecture"&gt;marketecture&lt;/a&gt;?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-4891059016801721705?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/4891059016801721705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/whats-your-take-on-alcatel-lucent.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/4891059016801721705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/4891059016801721705'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/whats-your-take-on-alcatel-lucent.html' title='What’s your take on Alcatel-Lucent IP+Optical integration?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-5531029010695426895</id><published>2009-10-23T06:30:00.003+02:00</published><updated>2009-10-23T06:30:00.126+02:00</updated><title type='text'>IOS packaging: Moore’s Law Won</title><content type='html'>&lt;p&gt;Great news: Cisco &lt;a href="http://newsroom.cisco.com/dlls/2009/prod_102009.html"&gt;launched a new series of midrange routers on Tuesday&lt;/a&gt;. They're very probably great products (I wouldn't expect less from Cisco). Also as expected, their marketing department couldn’t help itself (&lt;a href="http://etherealmind.com/rant-cisco-networkers-virtual-its-bad-very-bad/"&gt;yet again&lt;/a&gt;) and had to position the launch as a universe-changing event: this time they &lt;a href="http://blogs.cisco.com/news/comments/cisco_borderless_network_revealed/"&gt;&lt;em&gt;Revealed the Borderless Network&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;and spent loads of money producing “&lt;a href="http://www.youtube.com/watch?v=jDi0FNcaock"&gt;viral videos&lt;/a&gt;”. OK, maybe their average customer is stupid enough to fall for those tricks; I’m positive you’re not … so let’s see what’s really new (here's what &lt;a href="http://www.cisco.com/assets/prod/rt/isr/whats-new-isrg2.html"&gt;Cisco admits is new&lt;/a&gt; after you've got past all the marketing fluff):&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;All the embedded “WAN” ports are Gigabit Ethernet uplinks. Good.&lt;/li&gt;&lt;li&gt;They claim up to 5-times higher performance than the previous routers. Average. The ISR series was launched in 2004 and Moore’s law predicts 5.8-times increase.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cisco.com/en/US/prod/collateral/routers/ps10538/aag_c07_563807.pdf"&gt;Lots of the old interface modules are supported&lt;/a&gt;. Amazing; I’m just hoping it doesn’t hurt the performance.&lt;/li&gt;&lt;li&gt;They’ve replaced the old half-hearted attempts to include an x86 generic application platform within a router with the &lt;a href="http://www.cisco.com/en/US/prod/collateral/modules/ps10598/data_sheet_c78-553913.html"&gt;Service Ready Engine&lt;/a&gt; (another great marketing invention … sounds so much better than a &lt;em&gt;Linux blade&lt;/em&gt;) modules, having up to 4GB of RAM and 1TB of hard disk. I don’t want to know how the people who bought the &lt;a href="http://blog.ioshints.info/2009/01/decent-dns-dhcp-and-http-server-on-isr.html"&gt;old AXP platform&lt;/a&gt; feel reading these specs.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;However, one of the most important changes from the network manager perspective is the unified IOS image. No more hassle in the image selection process: you have a single image that contains all the function you’ll ever need. If your quality control process requires IOS image lab tests, you can do it once regardless of which features you need. When you need to deploy additional functionality, you just &lt;a href="http://www.cisco.com/en/US/docs/ios/csa/configuration/guide/csa_overview.html"&gt;order new license, enter it in the router and start using the new features&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I’m positive someone will try to position the unified IOS image as the next best thing since the invention of sliced bread. However, it’s yet again a simple result of Moore’s law; the IOS developers were not able to develop the code fast enough to keep with the dropping DRAM/Flash prices. All the memory needed for the “kitchen-sink” image of today costs less than the IP base image in days when IOS 12.2 was released.&lt;/p&gt;&lt;p class="note"&gt;Actually, the official name for the &lt;em&gt;kitchen sink &lt;/em&gt;image is &lt;em&gt;Advanced &lt;/em&gt;&lt;em&gt;Enterprise Services&lt;/em&gt;, but those of you who have been in the business long enough know probably still remember what the –k- acronym in the IOS image name stood for.&lt;/p&gt;&lt;p&gt;To make my findings a bit more “scientific”, I’ve tried really hard to find out when individual IOS releases were launched and produced a graph comparing Flash image sizes of compressed high-end IOS images (ENTERPRISE/FW/IDS IPSEC 3DES or Advanced Enterprise Services) with the exponential curve predicted by the Moore’s law based on compressed 12.2 IP Plus image (the smallest image for the 7200-series router I was able to find).&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_K_pkZO5-tTg/St83PbPsG_I/AAAAAAAAD0E/qYAmmTAZmds/s1600-h/IOS+Image+Size+%2B+Moore.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_K_pkZO5-tTg/St83PbPsG_I/AAAAAAAAD0E/qYAmmTAZmds/s640/IOS+Image+Size+%2B+Moore.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="note"&gt;The image sizes were taken from CCO download area. I’ve used the images for the 7204 router to eliminate the potential impact of changed CPU instruction set. In some cases, I was not able to find the “original” images, so I’ve assumed the mainline IOS image size did not increase significantly during its maintenance period.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-5531029010695426895?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/5531029010695426895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/ios-packaging-moores-law-won.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/5531029010695426895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/5531029010695426895'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/ios-packaging-moores-law-won.html' title='IOS packaging: Moore’s Law Won'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_K_pkZO5-tTg/St83PbPsG_I/AAAAAAAAD0E/qYAmmTAZmds/s72-c/IOS+Image+Size+%2B+Moore.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-6995370742566131261</id><published>2009-10-21T06:00:00.004+02:00</published><updated>2009-10-21T09:47:26.528+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EEM'/><category scheme='http://www.blogger.com/atom/ns#' term='You&apos;ve asked for it'/><category scheme='http://www.blogger.com/atom/ns#' term='OSPF'/><title type='text'>Report interface loss based on OSPF neighbor loss</title><content type='html'>&lt;p&gt;&lt;a href="http://wiki.nil.com/"&gt;&lt;img src="http://www.ioshints.info/images/Wiki.png" class="ImgFLTright"&gt;&lt;/a&gt;Nicolas sent me an interesting problem: he has numerous point-to-point GRE-over-IPSec tunnels on his core router and detects remote site failure with OSPF neighbor loss events. He would like to receive an e-mail when an OSPF neighbor goes down (&lt;a href="http://wiki.nil.com/Send_email_from_EEM_applet"&gt;quite easy to do with EEM&lt;/a&gt;), but would also like to receive interface description in the e-mail subject to simplify his troubleshooting.&lt;/p&gt;&lt;p&gt;With the &lt;a href="http://wiki.nil.com/Regular_expressions_in_Embedded_Event_Manager_applets"&gt;regular expressions available in EEM 3.0&lt;/a&gt; you can &lt;a href="http://wiki.nil.com/Report_interface_loss_based_on_OSPF_neighbor_loss"&gt;extract interface name from &lt;em&gt;syslog &lt;/em&gt;message, execute &lt;strong&gt;show interface &lt;/strong&gt;command and extract the interface description from it&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: right;"&gt;The &lt;a href="http://wiki.nil.com/Report_interface_loss_based_on_OSPF_neighbor_loss"&gt;EEM applet source code&lt;/a&gt; is available in the &lt;a href="http://wiki.nil.com/"&gt;CT3 wiki&lt;/a&gt;&lt;/p&gt;&lt;p class="more"&gt;This article is part of &lt;a href="http://ioshints.blogspot.com/2007/01/youve-asked-for-it-series.html"&gt;You've asked for it&lt;/a&gt; &lt;a href="http://ioshints.blogspot.com/search/label/You%27ve asked for it"&gt;series&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-6995370742566131261?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/6995370742566131261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/report-interface-loss-based-on-ospf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6995370742566131261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/6995370742566131261'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/report-interface-loss-based-on-ospf.html' title='Report interface loss based on OSPF neighbor loss'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-8260761185816902175</id><published>2009-10-20T06:17:00.000+02:00</published><updated>2009-10-20T06:17:00.438+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firewalls'/><title type='text'>Help appreciated: what’s wrong with my Zone-based Firewalls book?</title><content type='html'>&lt;p&gt;A quick question for you: in two years since my &lt;a href="http://www.informit.com/store/product.aspx?isbn=1587053101"&gt;Deploying Zone-based Firewalls digital short cut&lt;/a&gt; (marketese for downloadable PDF) was published, we’ve sold around 200 copies of it. Obviously we’re doing something wrong and I’d appreciate your opinion: is it the topic (are you using ZB firewall on Cisco IOS?), the format (would you prefer paper copy?), the platform (Cisco IOS as a firewall), pricing ($14.99 for 112 pages) or something else?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-8260761185816902175?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/8260761185816902175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/help-appreciated-whats-wrong-with-my.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8260761185816902175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/8260761185816902175'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/help-appreciated-whats-wrong-with-my.html' title='Help appreciated: what’s wrong with my Zone-based Firewalls book?'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23021255.post-7065490113012935329</id><published>2009-10-19T06:36:00.000+02:00</published><updated>2009-10-19T06:36:00.162+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>What went wrong: TCP lives in the dial-up world</title><content type='html'>&lt;div class="bloggerBody"&gt;&lt;p&gt;As expected, my “&lt;a href="http://blog.ioshints.info/2009/08/what-went-wrong-socket-api.html"&gt;the socket API is broken&lt;/a&gt;” post generated numerous comments, many of them missing the point (for example, someone scolded me for quoting Wikipedia and not the official Linux documentation). I did not want to discuss the intricate technical details of the various incarnations of the API but the generic stupidity of having to deal with low-level networking details in the application.&lt;/p&gt;&lt;p&gt;Fabio was kind enough to provide the recommended method of using the Socket API from &lt;strong&gt;man getaddrinfo&lt;/strong&gt;, effectively proving my point: why should every application use a convoluted function when all we want to do (in most cases) is connect to the server. &lt;/p&gt;&lt;p&gt;Patryk went even further and claimed that the socket API provides “basic functionality” and that &lt;em&gt;libc&lt;/em&gt; is not the right place for anything more. Well, that mentality caused most of the IPv4-to-IPv6 application-related issues: obviously the applications developed before IPv6 was a serious consideration had to be rewritten because all the low-level code was embedded in the applications, not isolated in the library. A similar problem has &lt;a href="http://blog.ioshints.info/2009/08/what-went-wrong-sctp.html"&gt;effectively stalled SCTP deployment&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;However, these are not the only problems we’re facing today. Even if the application properly implements the “try connecting to multiple addresses returned by DNS” function, the response time becomes unacceptable due to the default TCP timeout values coded in various operating systems’ TCP stacks.&lt;/p&gt;&lt;script&gt;startHide()&lt;/script&gt;&lt;p&gt;For example, it takes up to three minutes for a TCP &lt;strong&gt;connect &lt;/strong&gt;call to timeout on a Fedora-11 Linux distribution (the &lt;strong&gt;connect &lt;/strong&gt;call aborts immediately if an intermediate router sends back an ICMP unreachable reply and the ARP timeout causes an abort in three seconds). Windows XP is slightly better; the default timeout is set at 20 seconds.&lt;/p&gt;&lt;p&gt;You might wonder what prompted the TCP designers to choose these exceedingly large values. TCP was designed more than 20 years ago when the analog dialup modems were commonly used to connect to the Internet. These modems could take a minute (or longer) to establish the connection and if you wanted to have a reliable TCP session setup, you had to wait significantly longer before aborting the session setup system call. The Internet has changed dramatically in the meantime, but nobody ever bothered changing the defaults.&lt;/p&gt;&lt;p class="note"&gt;If you want to rush and write a comment how the default can be changed, you’re yet again missing the point: we cannot implement multihomed IP hosts using more than one IP address due to the crazy default TCP timeout values. As soon as the first address becomes unreachable, the session establishment time (for an average user using out-of-box software) becomes unacceptable.&lt;/p&gt;&lt;script&gt;endHide()&lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23021255-7065490113012935329?l=blog.ioshints.info' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.ioshints.info/feeds/7065490113012935329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.ioshints.info/2009/10/what-went-wrong-tcp-lives-in-dial-up.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7065490113012935329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23021255/posts/default/7065490113012935329'/><link rel='alternate' type='text/html' href='http://blog.ioshints.info/2009/10/what-went-wrong-tcp-lives-in-dial-up.html' title='What went wrong: TCP lives in the dial-up world'/><author><name>Ivan Pepelnjak</name><uri>http://www.blogger.com/profile/13457151406311272386</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15208754866265736101'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>