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

<channel>
	<title>Fnode Networks &#187; Nish Vamadevan</title>
	<atom:link href="http://www.fnode.com/author/nish/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fnode.com</link>
	<description></description>
	<lastBuildDate>Wed, 23 Nov 2011 20:18:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Would Cisco Consider Releasing an IOS Emulator</title>
		<link>http://www.fnode.com/2011/02/would-cisco-consider-releasing-an-ios-emulator/</link>
		<comments>http://www.fnode.com/2011/02/would-cisco-consider-releasing-an-ios-emulator/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 20:28:54 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[IOS On UNIX]]></category>
		<category><![CDATA[IOU]]></category>
		<category><![CDATA[L2IOU]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=719</guid>
		<description><![CDATA[Overview I have been seeing a number of articles on the Internet trying to persuade Cisco to offer some kind of real-time emulation software for their IOS. I remember Greg Ferro from Etherealmind started a petition a while back and I have yet to see any development on that&#8230; The fact that the matter is, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><em><strong>Overview</strong></em></p>
<p><span class="drop_cap">I</span> have been seeing a number of articles on the Internet trying to persuade Cisco to offer some kind of real-time emulation software for their <acronym title="Internetwork Operating System">IOS</acronym>. I remember Greg Ferro from <a href="http://etherealmind.com/cisco-ios-petition-reloaded/" rel="nofollow" target="_blank" class="external_icon">Etherealmind</a> started a petition a while back and I have yet to see any development on that&#8230;</p>
<p>The fact that the matter is, Cisco already have such platform called <acronym title="IOS on UNIX">IOU</acronym>, which is designed to emulate their <acronym title="Internetwork Operating System">IOS</acronym> to a near hardware experience for their internal testing environment. (Don’t quote me on this, but this is pretty good from what I have heard, or researched)</p>
<p>Currently we have Dynamips, which is one of the resource hungry Cisco Hardware emulation platform where testing can be done to a certain extend but it is nowhere near perfect, and here are some facts.</p>
<p>•	Dynamips does require a Lot of resources.<br />
•	This is extremely processor heavy.<br />
•	<acronym title="Quality of Service">QoS</acronym> does not work very well.</p>
<p>If you want to have a detailed explanation on, please have a look at the following post by Wendell Odom who explains thoroughly on the <a href="http://www.networkworld.com/community/blog/getting-started-part-5-your-third-option-cli-?page=1"rel="nofollow" target="_blank" class="external_icon">NWW</a>.</p>
<p>What puzzles me is the fact that Cisco goes out of their way to promote their Educational sector, yet they are reluctant to offer some kind of Software Emulation to accommodate their <acronym title="Internetwork Operating System">IOS</acronym>.</p>
<p><span id="more-719"></span></p>
<p>I can understand that fact that Cisco is trying to draw a line between testing and learning&#8230; When it comes to learning, it is fine. But, when it comes to Testing, Cisco might be concerned that it would affect their after sale services and revenue.</p>
<p>They are also maybe concerned about the lOS architecture getting onto the wrong hand. If you think about it, it does make sense because if they don&#8217;t support the Students, they would have put a stop to Dynamips <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em><strong>Suggestion</strong></em></p>
<p>That is why I was wondering  whether Cisco would consider releasing a pre built Topology such as the R&amp;S 360 Lab within <acronym title="IOS on UNIX">IOU</acronym>/L2IOS (which they run on the R&amp;S Lab for the troubleshooting section) and lock it with an encryption so it cannot be decompiled.  There is still a risk on there, but it might be worth it. That way, it is only used for studying purposes and they don&#8217;t have to worry about it is being used for commercial use which might affect their after sale services&#8230;</p>
<p>That is why I suggest that if they released a &#8220;supersized&#8221; topology like the TS section on their RS Lab exam (with the correct <acronym title="Internetwork Operating System">IOS</acronym> version), one can pretty much turn a few routers off and accommodate to the students needs.</p>
<p>With such topology, I personally think a student can pretty much cover <acronym title="Cisco Certified Network Associate">CCNA</acronym>/<acronym title="Cisco Certified Network Professional">CCNP</acronym> or even unto a level of a <acronym title="Cisco Certified Internetwork Professional">CCIP</acronym> exams&#8230; If a <acronym title="Cisco Certified Network Associate">CCNA</acronym> student is overwhelmed by such topology, they can start with Packet trace and once they are comfortable, they can move onto this.</p>
<p>I do understand people wants such technology to test and troubleshoot, but I personally think, since they promote the 360 Learning solutions vigorously, they should consider this option to help the students.</p>
<p><em><strong>Update</strong></em></p>
<p class="postalert">As of 21st April 2011, Cisco has finally listen to the request now offering the <acronym title="IOS on UNIX">IOU</acronym> Labs at their Cisco Learning Network Store. If you need more info, you can have a look <a href="https://learningnetwork.cisco.com/community/learning_center/cisco_learning_labs" rel="nofollow" target="_blank" class="external_icon">Here</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2011/02/would-cisco-consider-releasing-an-ios-emulator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to speed up DSL Connection</title>
		<link>http://www.fnode.com/2011/02/how-to-speed-up-dsl-connection/</link>
		<comments>http://www.fnode.com/2011/02/how-to-speed-up-dsl-connection/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 19:02:25 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How to Speed up ADSL]]></category>
		<category><![CDATA[Speed up ADSL]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=729</guid>
		<description><![CDATA[I have been working on some xDSL sync issues and and here are some of my findings to boost the xDSL Sync rate and have a stable line. Option 1 First of all, make sure which standard your ISP’s DSLAM running on. This is important because some standards have limitations which will create a bottleneck [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span> have been working on some xDSL sync issues and and here are some of my findings to boost the xDSL Sync rate and have a stable line.</p>
<p><em><strong>Option 1</strong></em></p>
<p>First of all, make sure which standard your <acronym title="Internet Service Provider">ISP</acronym>’s <a href="http://en.wikipedia.org/wiki/Digital_Subscriber_Line_Access_Multiplexer" rel="nofollow" target="_blank" class="external_icon"><acronym title="Digital Subscriber Line Access Multiplexer">DSLAM</acronym></a> running on. This is important because some standards have limitations which will create a bottleneck when it comes to the hardware you are using. First rule of thumb for people who are not sure is to use the <acronym title="Internet Service Provider">ISP</acronym>’s provided hardware.</p>
<p>For example ITU G.992.5 (ADSL2+) will have an upload limitation of 1.3 Mbps, you might have a line which is capable of handling more than 1.3 Mbps but the hardware you use will cause a limitation. This is why you need to make sure which standard the <acronym title="Internet Service Provider">ISP</acronym> is running the <acronym title="Digital Subscriber Line Access Multiplexer">DSLAM</acronym> on. If the <acronym title="Internet Service Provider">ISP</acronym> happen to run ITU G.992.5 Annex M (ADSL2+ M) you are likely to get an upload speed of more than 1.3 Mbps, thus having a router which is capable of supporting Annex M will be beneficial.</p>
<p><em><strong>Option 2</strong></em></p>
<p>Run your <acronym title="Asymmetric Digital Subscriber Line">ADSL</acronym> line from the Master Socket. This way, you are likely to eradicate any noise on the line which will affect the <acronym title="Digital Subscriber Line">DSL</acronym> connection.</p>
<p><em><strong>Option 3</strong></em></p>
<p>It is highly advisable to remove the ringer cable on the phone line. This cable causes a lot of noise on the line and no longer required because the <acronym title="Digital Subscriber Line">DSL</acronym> Micro-Filter takes care of the ringer.<br />
Only connect the wires on <strong>(2)</strong> and <strong>(5)</strong> on the BT NTE5 box and disconnect all the other wires. This way, there will be no static looping back via the ringer cable.</p>
<p>I would recommend going through all three Options above to make sure those are ticked and If you require any further assistance, I recommend you to do a Google Search and there are plenty of information out there which explains in more detail.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2011/02/how-to-speed-up-dsl-connection/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Unzip / Uncompress Cisco IOS</title>
		<link>http://www.fnode.com/2010/11/how-to-unzip-uncompress-cisco-ios/</link>
		<comments>http://www.fnode.com/2010/11/how-to-unzip-uncompress-cisco-ios/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 14:20:00 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Cisco]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=708</guid>
		<description><![CDATA[This procedure is quite simple and the following is done on Linux. When you have an uncompressed IOS, you don&#8217;t need to wait for it when it comes to loading it on Dynamips. unzip -p c3725-adventerprisek9-mz.124-25.bin &#62; c3725-adventerprisek9-mz.124-25.image You can see both compressed and uncompressed versions below. Workstation IOS # ls -ltrh &#124;grep 3725 -rw-r--r-- [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">T</span>his procedure is quite simple and the following is done on Linux. When you have an uncompressed <acronym title="Internetwork Operating System">IOS</acronym>, you don&#8217;t need to wait for it when it comes to loading it on Dynamips.</p>
<pre>unzip -p c3725-adventerprisek9-mz.124-25.bin &gt; c3725-adventerprisek9-mz.124-25.image
</pre>
<p>You can see both compressed and uncompressed versions below.</p>
<pre>Workstation <acronym title="Internetwork Operating System">IOS</acronym> # ls -ltrh |grep 3725
-rw-r--r-- 1 root root 38M 2010-11-29 16:47 c3725-adventerprisek9-mz.124-25.bin
-rw-r--r-- 1 root root 79M 2010-11-29 20:23 c3725-adventerprisek9-mz.124-25.image
Workstation <acronym title="Internetwork Operating System">IOS</acronym> #
</pre>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2010/11/how-to-unzip-uncompress-cisco-ios/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fine-tuning BGP Client / Server Relationship</title>
		<link>http://www.fnode.com/2010/11/bgp-client-server-relationship/</link>
		<comments>http://www.fnode.com/2010/11/bgp-client-server-relationship/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 19:07:16 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[bgp]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=702</guid>
		<description><![CDATA[Before you read through this post, I assume you have got at least the basic understanding of BGP and how it works. Here are some facts: BGP is a path vector Routing Protocol works on TCP port 179. Neighbor with the lowers IP address will establish the connection to the Remote Peer on TCP port [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">B</span>efore you read through this post, I assume you have got at least the basic understanding of <acronym title="Border Gateway Protocol">BGP</acronym> and how it works.</p>
<p>Here are some facts:</p>
<p><acronym title="Border Gateway Protocol">BGP</acronym> is a path vector Routing Protocol works on <acronym title="Transmission Control Protocol">TCP</acronym> port 179.</p>
<p>Neighbor with the lowers <acronym title="Internet Protocol">IP</acronym> address will establish the connection to the Remote Peer on <acronym title="Transmission Control Protocol">TCP</acronym> port 179 with a random source port.</p>
<p>In this case, the Remote Peer will become the Server and the Local Peer will become the client. This peering relationship will change when we clear the <acronym title="Border Gateway Protocol">BGP</acronym> process on either peer or the underlying <acronym title="Border Gateway Protocol">BGP</acronym> connection get severed for any reason.</p>
<p>In case you want to specifically want to set one Peer as the Server and one as the Client, the <acronym title="Internetwork Operating System">IOS</acronym> does support it.</p>
<p>This is how it is done&#8230;</p>
<p>R1 and R2 have a eBGP peering where R1 is on <acronym title="Autonomous System">AS</acronym> 100 and R2 is on 200.</p>
<pre>R1#sh run | s bgp
router bgp 100
no synchronization
bgp router-id 1.1.1.1
bgp log-neighbor-changes
redistribute connected
neighbor 10.0.0.2 remote-as 200
no auto-summary
R1#
</pre>
<pre>R2#sh run | s bgp
router bgp 200
no synchronization
bgp router-id 2.2.2.2
bgp log-neighbor-changes
redistribute connected
neighbor 10.0.0.1 remote-as 100
no auto-summary
R2#
</pre>
<p><span id="more-702"></span></p>
<p>If you are wondering, I am redistribution the connected routes because I want to make sure the <acronym title="Border Gateway Protocol">BGP</acronym> is in-fact exchanging prefixed. (I don&#8217;t fully trust Dynamips when it comes to emulation&#8230; <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>As you can see below, here are the <acronym title="Border Gateway Protocol">BGP</acronym> connection info&#8230;</p>
<pre>R1#sh ip bgp neighbors 10.0.0.2 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 01:27:40
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.1, Local port: 46257
Foreign host: 10.0.0.2, Foreign port: 179
R1#
</pre>
<pre>R2#sh ip bgp neighbors 10.0.0.1 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 01:28:07
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.2, Local port: 179
Foreign host: 10.0.0.1, Foreign port: 46257
R2#
</pre>
<p>As you can see above, <strong>R1</strong> is the Client and <strong>R2</strong> is the Server (As you can see, the Local port is 179)</p>
<p>As you can see below, I have cleared the <acronym title="Border Gateway Protocol">BGP</acronym> session and the peering arrangement is changed from R1 being the Client to Server&#8230;</p>
<pre>R1#sh ip bgp neighbors 10.0.0.2 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 00:00:31
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.1, Local port: 179
Foreign host: 10.0.0.2, Foreign port: 62021
R1#
</pre>
<pre>R2#sh ip bgp neighbors 10.0.0.1 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 00:00:06
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.2, Local port: 62021
Foreign host: 10.0.0.1, Foreign port: 179
R2#
</pre>
<p>In case, you want to hard-code one Peer as Client and another Peer as Server. This is possible under the Cisco <acronym title="Internetwork Operating System">IOS</acronym>. I have never seen such configuration on Production Environment but this will come in handy when we have some kind of firewalling on one side of the peer or we want to specifically set which neighbor becomes the Server and which becomes the Client.</p>
<p>This is accomplished under the neighbor statement and I will be configuring R1 as Server and R2 as the Client. On the command itself, Active being the Client and Passive being the Server.</p>
<pre>R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#router bgp 100
R1(config-router)#neighbor 10.0.0.2 transport connection-mode ?
active   Actively establish the <acronym title="Transmission Control Protocol">TCP</acronym> session
passive  Passively establish the <acronym title="Transmission Control Protocol">TCP</acronym> session

R1(config-router)#neighbor 10.0.0.2 transport connection-mode passive
R1(config-router)#
</pre>
<pre>R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#router bgp 200
R2(config-router)#neighbor 10.0.0.1 transport connection-mode ?
active   Actively establish the <acronym title="Transmission Control Protocol">TCP</acronym> session
passive  Passively establish the <acronym title="Transmission Control Protocol">TCP</acronym> session

R2(config-router)#neighbor 10.0.0.1 transport connection-mode active
R2(config-router)#
</pre>
<p>Now I have Cleared the <acronym title="Border Gateway Protocol">BGP</acronym> session numerous times and as you can see below, the Client / Server relationship is not changed.</p>
<pre>R1#sh ip bgp neighbors 10.0.0.2 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 00:02:24
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.1, Local port: 179
Foreign host: 10.0.0.2, Foreign port: 14953
R1#
</pre>
<pre>R2#sh ip bgp neighbors 10.0.0.1 | i host|state
<acronym title="Border Gateway Protocol">BGP</acronym> state = Established, up for 00:01:22
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 10.0.0.2, Local port: 14953
Foreign host: 10.0.0.1, Foreign port: 179
R2#
</pre>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2010/11/bgp-client-server-relationship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BGP Peer Templates</title>
		<link>http://www.fnode.com/2010/10/bgp-peer-templates/</link>
		<comments>http://www.fnode.com/2010/10/bgp-peer-templates/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 07:09:37 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[bgp]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=687</guid>
		<description><![CDATA[I have came across a lot of BGP configurations where there are lot of the configurations can be optimized. But having said that, this is not always the case when the Network is being built gradually. Here is a couple of them, called Peer Session Templates and Peer Policy Templates; which we can use in [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span> have came across a lot of <acronym title="Border Gateway Protocol">BGP</acronym> configurations where there are lot of the configurations can be optimized. But having said that, this is not always the case when the Network is being built gradually.</p>
<p>Here is a couple of them, called <strong>Peer Session Templates</strong> and <strong>Peer Policy Templates</strong>; which we can use in such <acronym title="Border Gateway Protocol">BGP</acronym> configuration optimisations, when we…</p>
<ol>
<li>Design a Network from scratch.</li>
<li>Design with a future overview.</li>
</ol>
<p>These configurations can be used when it comes to commands which are session specific.</p>
<ul>
<li>description</li>
<li>disable-connected-check</li>
<li>ebgp-multihop</li>
<li>exit peer-session</li>
<li>inherit peer-session</li>
<li>local-as</li>
<li>password</li>
<li>remote-as</li>
<li>shutdown</li>
<li>timers</li>
<li>translate-update</li>
<li>update-source</li>
<li>version</li>
</ul>
<p>I wouldn’t personally set password on a template, because…</p>
<ol>
<li>You might want to have a different password for a specific peer because it is controlled by some other Administrative body.</li>
<li>In my opinion, it is best practice to set the password per peer than to have it under a template.</li>
</ol>
<p>Here is an example configuration from <title ="BGP Configuration Using Peer Templates" href="http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/s_bgpct.html" rel="nofollow" target="_blank" class="external_icon">Cisco and also take a look at the <strong>Peer Policy Templates</strong> which is used under address-family. I would strongly advise you to read through the whole document.</p>
<p><span id="more-687"></span></p>
<p><strong>Peer Session Template Configuration Examples</strong></p>
<p>The following example creates a peer session template named INTERNAL-<acronym title="Border Gateway Protocol">BGP</acronym> in session-template configuration mode:</p>
<pre>Router(config)# router bgp 101
Router(config-router)# template peer-session INTERNAL-<acronym title="Border Gateway Protocol">BGP</acronym>
Router(config-router-stmp)# remote-as 202
Router(config-router-stmp)# timers 30 300
Router(config-router-stmp)# exit-peer-session
Router(config-router)#</pre>
<p>The following example creates a peer session template named CORE1. This example inherits the configuration of the peer session template named INTERNAL-<acronym title="Border Gateway Protocol">BGP</acronym>.</p>
<pre>Router(config-router)# template peer-session CORE1
Router(config-router-stmp)# description CORE-123
Router(config-router-stmp)# update-source loopback 1
Router(config-router-stmp)# inherit peer-session INTERNAL-<acronym title="Border Gateway Protocol">BGP</acronym>
Router(config-router-stmp)# exit-peer-session
Router(config-router)#</pre>
<p>The following example configures the 172.16.0.1 neighbor to inherit the CORE1 peer session template. The 172.16.0.1 neighbor will aso indirectly inherit the configuration from the peer session template named INTERNAL-<acronym title="Border Gateway Protocol">BGP</acronym>.</p>
<p>The explicit remote-as statement is required for the neighbor inherit statement to work. If a peering is not configured, the specified neighbor will not accept the session template.</p>
<pre>Router(config)# router bgp 101
Router(config-router)# neighbor 172.16.0.1 remote-as 202
Router(config-router)# neighbor 172.16.0.1 inherit peer-session CORE1
Router(config-router)#</pre>
<p></title></p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2010/10/bgp-peer-templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNSSec Effect on ASA / PIX Firewalls &amp; FWSMs</title>
		<link>http://www.fnode.com/2010/05/dnssec-effect-on-asa-pix-firewalls-fwsms/</link>
		<comments>http://www.fnode.com/2010/05/dnssec-effect-on-asa-pix-firewalls-fwsms/#comments</comments>
		<pubDate>Wed, 05 May 2010 14:55:50 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[dnssec]]></category>
		<category><![CDATA[dnssec asa]]></category>
		<category><![CDATA[fwsm]]></category>
		<category><![CDATA[message length maximum 4096]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=654</guid>
		<description><![CDATA[As of 5th May 2010 All 13 DNS ROOT Server will consist of a signed digital signature with every replied query. This has been ruled out to tackle any man-in-middle attack similar to Dan Kaminsky’s exploit. Is it going to break the internet? It is only going to affect if the firewalls &#38; FWSM are [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">A</span>s of 5th May 2010 All 13 <acronym title="Domain Name Server">DNS</acronym> ROOT Server will consist of a signed digital signature with every replied query. This has been ruled out to tackle any man-in-middle attack similar to Dan Kaminsky’s exploit.</p>
<p>Is it going to break the internet?</p>
<p>It is only going to affect if the firewalls &amp; <acronym title="Firewall Services Module">FWSM</acronym> are not configured correctly to allow <acronym title="Domain Name System Security Extensions">DNSSEC</acronym> signed packets.</p>
<p>The answer being, as we already know <acronym title="Domain Name Server">DNS</acronym> uses <acronym title="User Datagram Protocol">UDP</acronym> packets for query replies; and most firewalls are going to drop any packets larger than 512bytes.</p>
<p>Having been said, the <acronym title="Domain Name System Security Extensions">DNSSEC</acronym> signed replies are going to have an extra layer of encryption, thus increasing the packet size up to 4KB (4096) and the firewalls &amp; FWSMs needs to be configured to allow such larger packets through.</p>
<p>What needs to be configured on the Firewall?</p>
<p>The firewall needs to have the following settings to allow larger <acronym title="User Datagram Protocol">UDP</acronym> packets through…</p>
<pre>message-length maximum 4096</pre>
<p>We can either hard-code the maximum-length or use other methods to tackle this issue.</p>
<p>More info about <acronym title="Domain Name System Security Extensions">DNSSEC</acronym> can be found on http://www.root-dnssec.org or simply typing the word on Google.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2010/05/dnssec-effect-on-asa-pix-firewalls-fwsms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPSec VPN and Parameters</title>
		<link>http://www.fnode.com/2010/04/ipsec-vpn-parameters/</link>
		<comments>http://www.fnode.com/2010/04/ipsec-vpn-parameters/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 23:13:45 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[cisco ipsec config]]></category>
		<category><![CDATA[cisco vpn configure]]></category>
		<category><![CDATA[clear ipsec]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[ipsec clear crypto]]></category>
		<category><![CDATA[pre-share]]></category>
		<category><![CDATA[qm_idle]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vpn reset]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=611</guid>
		<description><![CDATA[I have come across an odd scenario on pre-share key based IPSec tunnels… The question being, when an IPSec tunnel is active (Phase 1 and 2 are UP) and the pre-share key is changed, does this tear down the tunnel? The tunnel configuration on R4 follows… ! crypto isakmp policy 1 encr aes 256 hash [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span> have come across an odd scenario on pre-share key based IPSec tunnels…</p>
<p>The question being, when an IPSec tunnel is active (Phase 1 and 2 are UP) and the pre-share key is changed, does this tear down the tunnel?</p>
<p style="text-align: center;"><a href="http://www.fnode.com/wp-content/uploads/ipsec.png"><img class="size-medium wp-image-614 aligncenter" title="ipsec" src="http://www.fnode.com/wp-content/uploads/ipsec-300x100.png" alt="" width="300" height="100" /></a></p>
<p>The tunnel configuration on <strong>R4 </strong>follows…</p>
<pre>!
crypto isakmp policy 1
 encr aes 256
 hash md5
 authentication pre-share
 group 2
crypto isakmp key fnode address 192.168.1.5
!
!
crypto ipsec transform-set FNODE1 esp-3des esp-sha-hmac
!
crypto map FNODE1 1 ipsec-isakmp
 set peer 192.168.1.5
 set transform-set FNODE1
 match address 120
!

!
interface Ethernet0/0
 ip address 192.168.1.4 255.255.255.0
 full-duplex
 crypto map FNODE1
!

access-list 120 permit ip 192.168.1.0 0.0.0.255 192.168.1.0 0.0.0.255
!
</pre>
<p>The tunnel configuration on <strong>R5</strong> follows…</p>
<p><span id="more-611"></span></p>
<pre>!
crypto isakmp policy 1
 encr aes 256
 hash md5
 authentication pre-share
 group 2
crypto isakmp key fnode address 192.168.1.4
!
!
crypto ipsec transform-set FNODE1 esp-3des esp-sha-hmac
!
crypto map FNODE1 1 ipsec-isakmp
 set peer 192.168.1.4
 set transform-set FNODE1
 match address 120
!

!
interface Ethernet0/0
 ip address 192.168.1.5 255.255.255.0
 full-duplex
 crypto map FNODE1
!

access-list 120 permit ip 192.168.1.0 0.0.0.255 192.168.1.0 0.0.0.255
</pre>
<p>Bringing the tunnel up by pinging the Peer from R4 </p>
<pre>
R4#ping 192.168.1.5 so e0/0
</pre>
<p>As you can see below, the Tunnel is now UP/UP, and 4 packets have been encrypted / decrypted.</p>
<pre>
R4#sh cry isa sa
dst             src             state          conn-id slot status
192.168.1.5     192.168.1.4     QM_IDLE              1    0 ACTIVE

R4#
R4#sh cry ip sa

interface: Ethernet0/0
    Crypto map tag: FNODE1, local addr 192.168.1.4

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   current_peer 192.168.1.5 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
    #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 1, #recv errors 0

     local crypto endpt.: 192.168.1.4, remote crypto endpt.: 192.168.1.5
     path mtu 1500, ip mtu 1500
     current outbound spi: 0x82E8BCA5(2196290725)

     inbound esp sas:
      spi: 0x267E7582(645821826)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2001, flow_id: 1, crypto map: FNODE1
        sa timing: remaining key lifetime (k/sec): (4484045/3526)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x82E8BCA5(2196290725)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2002, flow_id: 2, crypto map: FNODE1
        sa timing: remaining key lifetime (k/sec): (4484045/3524)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     outbound ah sas:

     outbound pcp sas:
R4#
</pre>
<p>Lets change the Pre-Share Key on R4</p>
<pre>
R4(config)#no crypto isakmp key fnode address 192.168.1.5
R4(config)#
R4(config)#crypto isakmp key fnode@@@_@ address 192.168.1.5
</pre>
<p>Now, I have changed the key and pinged the remote peer again&#8230; Then checked whether the tunnel has gone down…?</p>
<p>As you can see below, there were 9 packets been encrypted and decrypted and tunnel is still UP/UP!</p>
<pre>
R4#sh cry isa sa
dst             src             state          conn-id slot status
192.168.1.5     192.168.1.4     QM_IDLE              1    0 ACTIVE

R4#

R4#sh cry ip sa | i pkts
    #pkts encaps: 9, #pkts encrypt: 9, #pkts digest: 9
    #pkts decaps: 9, #pkts decrypt: 9, #pkts verify: 9
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
R4#
</pre>
<p>Now, we will clear ISAKMP and Crypto MAP…</p>
<pre>
R4#clear cry isa
R4#clear crypto sa map FNODE1
</pre>
<p>Now, as we expect, the tunnel is brought down&#8230;</p>
<pre>
R4#sh cry isa sa
dst             src             state          conn-id slot status

R4#

R4#sh cry ipsec sa

interface: Ethernet0/0
    Crypto map tag: FNODE1, local addr 192.168.1.4

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   current_peer 192.168.1.5 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0
    #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 0, #recv errors 0

     local crypto endpt.: 192.168.1.4, remote crypto endpt.: 192.168.1.5
     path mtu 1500, ip mtu 1500
     current outbound spi: 0x0(0)

     inbound esp sas:

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:

     outbound ah sas:

     outbound pcp sas:
R4#
</pre>
<p>As expected, when we sent interesting traffic, the tunnel did not come up due to mis-match of pre-share key&#8230; &#8220;MM_KEY_EXCH&#8221;</p>
<pre>
R4#sh cry isa sa
dst             src             state          conn-id slot status
192.168.1.5     192.168.1.4     MM_KEY_EXCH          1    0 ACTIVE

R4#
</pre>
<p>Now, we set the key back to the original one&#8230;</p>
<pre>
R4(config)#no crypto isakmp key fnode@@@_@ address 192.168.1.5
R4(config)#crypto isakmp key fnode address 192.168.1.5
</pre>
<p>As expected, the tunnel comes back up when we sent interesting traffic&#8230;</p>
<pre>
R4#sh cry ip sa

interface: Ethernet0/0
    Crypto map tag: FNODE1, local addr 192.168.1.4

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
   current_peer 192.168.1.5 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
    #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 6, #recv errors 0

     local crypto endpt.: 192.168.1.4, remote crypto endpt.: 192.168.1.5
     path mtu 1500, ip mtu 1500
     current outbound spi: 0xE15525F6(3780453878)

     inbound esp sas:
      spi: 0x3D15E740(1024845632)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2002, flow_id: 2, crypto map: FNODE1
        sa timing: remaining key lifetime (k/sec): (4578721/3577)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0xE15525F6(3780453878)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2001, flow_id: 1, crypto map: FNODE1
        sa timing: remaining key lifetime (k/sec): (4578721/3576)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     outbound ah sas:

     outbound pcp sas:
R4#
</pre>
<p>The fact of the matter is, whenever there is a change is pre-share key and such, the tunnel MUST be cleared to take effect, otherwise it will _not_ come back up. </p>
<p>In another word, when there is an active tunnel and such modifications are made to the configuration, clearing ISAKMP and Crypto MAP is a must.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2010/04/ipsec-vpn-parameters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSPF Loopback Interface</title>
		<link>http://www.fnode.com/2009/12/ospf-loopback-interface/</link>
		<comments>http://www.fnode.com/2009/12/ospf-loopback-interface/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 14:17:21 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[OSPF Loopback]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=547</guid>
		<description><![CDATA[OSPF Loopback interfaces are treated as a stub host and will only have a 32 bit host route on the other devices no matter how the subnet mask is entered under the OSPF network statement. We will explore how we can disable this default behaviour using a few methods. As you can see, R4 is [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">O</span>SPF Loopback interfaces are treated as a stub host and will only have a 32 bit host route on the other devices no matter how the subnet mask is entered under the <acronym title="Open Shortest Path First">OSPF</acronym> network statement.</p>
<p>We will explore how we can disable this default behaviour using a few methods.</p>
<p style="text-align: center;"><img class="size-full wp-image-548 aligncenter" title="ospf-loop" src="http://www.fnode.com/wp-content/uploads/ospf-loop.png" alt="ospf-loop" width="518" height="118" /></p>
<p>As you can see, R4 is configured with <acronym title="Internet Protocol">IP</acronym> address 192.168.1.4 and R5 with 192.168.1.5.</p>
<p>We have loopback interfaces added with /24 subnet masks on R4 and R5</p>
<pre>R4#sh run int loop0
Building configuration...
Current configuration : 61 bytes
!
interface Loopback0
ip address 4.4.4.4 255.255.255.0
end
R4#

R5#sh run int loop 0
Building configuration...
Current configuration : 61 bytes
!
interface Loopback0
ip address 5.5.5.5 255.255.255.0
end
R5#</pre>
<p>We are running basic <acronym title="Open Shortest Path First">OSPF</acronym> Configs as follows&#8230;</p>
<p><span id="more-547"></span></p>
<pre>R4#sh run | se router ospf 1
router ospf 1
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.0 0.0.0.255 area 0
network 192.168.1.0 0.0.0.255 area 0
R4#

R5#sh run | se router ospf 1
router ospf 1
router-id 5.5.5.5
log-adjacency-changes
network 5.5.5.0 0.0.0.255 area 0
network 192.168.1.0 0.0.0.255 area 0
R5#
</pre>
<p>This is what we are seeing on R4 and R5 and we expected this&#8230;</p>
<pre>R5#sh ip ro ospf
4.0.0.0/32 is subnetted, 1 subnets
O       4.4.4.4 [110/11] via 192.168.1.4, 00:12:27, Ethernet0/0
R5#

R4#sh ip ro ospf
5.0.0.0/32 is subnetted, 1 subnets
O       5.5.5.5 [110/11] via 192.168.1.5, 00:12:43, Ethernet0/0
R4#</pre>
<p>Now we will try the first method, this is to set the <acronym title="Open Shortest Path First">OSPF</acronym> Network type to <strong>point-to-point</strong> under the interface configuration mode.</p>
<pre>R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int loop 0
R4(config-if)#ip ospf network point-to-point
R4(config-if)#

R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int loop0
R5(config-if)#ip ospf network point-to-point
R5(config-if)#</pre>
<p>As you can see this works, and now we are seeing the whole /24 Range&#8230;</p>
<pre>R4#sh ip ro ospf
5.0.0.0/24 is subnetted, 1 subnets
O       5.5.5.0 [110/11] via 192.168.1.5, 00:00:04, Ethernet0/0
R4#

R5#sh ip ro ospf
4.0.0.0/24 is subnetted, 1 subnets
O       4.4.4.0 [110/11] via 192.168.1.4, 00:00:18, Ethernet0/0
R5#</pre>
<p>Second option we got is to redistribute the connected network with the with the <strong>redistribute connected subnets</strong> under the Router <acronym title="Open Shortest Path First">OSPF</acronym> configuration mode.</p>
<p>When it comes to redistribution, try not to go wild and it is always a good idea to create route-map to point out what you want redistributed.</p>
<pre>R4#sh ip ro ospf
5.0.0.0/24 is subnetted, 1 subnets
O E2    5.5.5.0 [110/20] via 192.168.1.5, 00:00:00, Ethernet0/0
R4#

R5#sh ip ro ospf
4.0.0.0/24 is subnetted, 1 subnets
O E2    4.4.4.0 [110/20] via 192.168.1.4, 00:00:15, Ethernet0/0
R5#
</pre>
<p>The third option we have is to use the Area Range command. To accomplish this, we will need to add a few more Loopback interfaces on R4 then we will use the <strong>area x range</strong> command to summarise it.</p>
<pre>R4#sh ip int brie | i up
Ethernet0/0    192.168.1.4     YES manual up     up
Loopback0      4.4.4.4         YES manual up     up
Loopback10     10.1.1.1        YES manual up     up
Loopback11     11.1.1.1        YES manual up     up
Loopback12     12.1.1.1        YES manual up     up
R4#</pre>
<p>When we add the loopback interfaces into <acronym title="Open Shortest Path First">OSPF</acronym>, it is still showing it as a /32 Host route&#8230;</p>
<pre>R5#sh ip ro ospf
10.0.0.0/32 is subnetted, 1 subnets
O IA    10.1.1.1 [110/11] via 192.168.1.4, 00:00:22, Ethernet0/0
11.0.0.0/32 is subnetted, 1 subnets
O IA    11.1.1.1 [110/11] via 192.168.1.4, 00:00:12, Ethernet0/0
12.0.0.0/32 is subnetted, 1 subnets
O IA    12.1.1.1 [110/11] via 192.168.1.4, 00:00:12, Ethernet0/0
R5#</pre>
<p>Now, we will use the <strong>Area 1 Range</strong> command to summarise it on R4. Once it is done, we can now see the end result.</p>
<p>Note: The above Loopback networks have been added into Area 1 under the Router OFPF configuration.</p>
<pre>R5#sh ip ro ospf
O IA 8.0.0.0/5 [110/11] via 192.168.1.4, 00:00:10, Ethernet0/0
R5#
</pre>
<p>These are the three method I know of when it comes to disabling the /32 host route on <acronym title="Open Shortest Path First">OSPF</acronym> Loopback Networks&#8230; <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2009/12/ospf-loopback-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert IPv4 into IPv6</title>
		<link>http://www.fnode.com/2009/11/convert-ipv4-into-ipv6/</link>
		<comments>http://www.fnode.com/2009/11/convert-ipv4-into-ipv6/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 00:23:48 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=535</guid>
		<description><![CDATA[I was going through 6to4 tunnel configs and thought I’d post some info on converting IPv4 address into IPv6 Address. This is pretty straight forward and its obviously involves HEX conversion. Method 1 (Please also see Method 2 below as I think it is much more easier) Here, I will convert the address 192.168.25.234 First [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span> was going through 6to4 tunnel configs and thought I’d post some info on converting IPv4 address into IPv6 Address. This is pretty straight forward and its obviously involves HEX conversion.</p>
<p><strong>Method 1</strong> (Please also see <strong>Method 2</strong> below as I think it is much more easier)</p>
<p>Here, I will convert the address <strong>192.168.25.234</strong></p>
<p>First we divide each octet by 16 and write down the remainder, primary school maths! <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>192 ÷ 16 = 12 remainder 0<br />
168 ÷ 16 = 10 remainder 8<br />
25 ÷ 16 = 1 remainder 9<br />
234 ÷ 16 = 14 remainder 10</p>
<p>We also know that HEX has the following Values</p>
<p>A = 10<br />
B = 11<br />
C = 12<br />
D = 13<br />
E = 14<br />
F = 15</p>
<p>So we can write 192.168.25.234 into HEX like so&#8230; <strong>C0A8:19EA</strong></p>
<p>Now we will change the HEX Address C0A8:19EA into regular IPv4</p>
<p>C0 = (12 x 16) + 0 = 192<br />
A8 = (10 x 16) + 8 = 168<br />
19 = (1 x 16) + 9 = 25<br />
EA = (14 x 16) + 10 = 234</p>
<p>QED <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Method 2</strong></p>
<p>Another easier way to convert is to convert the octets into Binary, in this case we will still use the <acronym title="Internet Protocol">IP</acronym> address 192.168.25.234</p>
<p><a href="http://www.fnode.com/wp-content/uploads/bin.png"><img class="aligncenter size-full wp-image-715" title="bin" src="http://www.fnode.com/wp-content/uploads/bin.png" alt="" width="140" height="69" /></a></p>
<p>Split those above 32Bit into equal 16 Bits as HEX is based on Base of 16, then Add them up.</p>
<p><a href="http://www.fnode.com/wp-content/uploads/16_bit.jpg"><img class="aligncenter size-full wp-image-1026" title="16_bit" src="http://www.fnode.com/wp-content/uploads/16_bit.jpg" alt="" width="311" height="102" /></a>C0<br />
A8<br />
19<br />
EA</p>
<p>Hope I have explained it thoroughly so you could follow&#8230; If you have any doubts, feel free to add your comments.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2009/11/convert-ipv4-into-ipv6/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>TCP Window Calculation</title>
		<link>http://www.fnode.com/2009/10/tcp-window-calculation/</link>
		<comments>http://www.fnode.com/2009/10/tcp-window-calculation/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 08:30:01 +0000</pubDate>
		<dc:creator>Nish Vamadevan</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[TCP Window]]></category>

		<guid isPermaLink="false">http://www.fnode.com/?p=533</guid>
		<description><![CDATA[I was going through some TCP windowing over a high speed WAN link, and thought it might be worth to post some info regarding this. We do face a typical problem of having slow speed file transfer even if the dedicated pipe is capable of supporting it. There are three factors which affects this&#8230; TCP [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span> was going through some <acronym title="Transmission Control Protocol">TCP</acronym> windowing over a high speed <acronym title="Wide Area Network">WAN</acronym> link, and thought it might be worth to post some info regarding this.</p>
<p>We do face a typical problem of having slow speed file transfer even if the dedicated pipe is capable of supporting it.</p>
<p>There are three factors which affects this&#8230;</p>
<ol>
<li><acronym title="Transmission Control Protocol">TCP</acronym> Window Size.</li>
<li>Round trip latency of the circuit.</li>
<li>Bandwidth of the circuit.</li>
</ol>
<p>Maximum throughput you can get from a line with 10ms latency and a <acronym title="Transmission Control Protocol">TCP</acronym> window of 32KB can be calculated with&#8230;</p>
<p>32KB &#8211;&gt; 32 x 1024 x 8 = 262144 Bits</p>
<p>262144 ÷ 0.01 = 26214400 bps = 26.2144 Mbps</p>
<p>Let’s say we have an OC-3 line, which is at 155 Mbps and a round trip latency of 10ms, and we need to calculate the <acronym title="Transmission Control Protocol">TCP</acronym> window size to maximize the throughput&#8230;</p>
<p>155.52 x 10<sup>6</sup> = 155520000 bps</p>
<p>TCP_WINDOW = 155520000 x 0.01 = 1555200 Bits = 194400 Bytes = <strong>189.84375</strong> <acronym title="Kilobyte">KB</acronym></p>
<p>Hope I got the calculation right <img src='http://www.fnode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fnode.com/2009/10/tcp-window-calculation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

