<?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>mm &#187; networks</title>
	<atom:link href="http://markmaunder.com/tag/networks/feed/" rel="self" type="application/rss+xml" />
	<link>http://markmaunder.com</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jul 2010 05:56:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Bandwidth providers: Please follow Google&#8217;s lead in helping startups, the environment and yourselves</title>
		<link>http://markmaunder.com/2010/bandwidth-providers-please-follow-googles-lead-in-helping-startups-the-environment-and-yourselves/</link>
		<comments>http://markmaunder.com/2010/bandwidth-providers-please-follow-googles-lead-in-helping-startups-the-environment-and-yourselves/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 22:57:44 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Startups]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[networks]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://markmaunder.com/?p=526</guid>
		<description><![CDATA[There&#8217;s a post on Hacker News today pointing to a few open source javascript libraries that Google is hosting on their content distribution network. ScriptSrc.net has a great UI that gives you an easy way to link to the libs from your web pages. Developers and companies can link to these scripts from their own websites and gain the following benefits:

Your visitor may have already cached the script on another website so your page will load faster
The script is hosted ...]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a <a href="http://news.ycombinator.com/item?id=1491795">post on Hacker News today</a> pointing to a few open source javascript libraries that Google is hosting on their content distribution network. <a href="http://scriptsrc.net/">ScriptSrc.net has a great UI</a> that gives you an easy way to link to the libs from your web pages. Developers and companies can link to these scripts from their own websites and gain the following benefits:</p>
<ul>
<li>Your visitor may have already cached the script on another website so your page will load faster</li>
<li>The script is hosted on a different domain which allows your browser to create more concurrent connections while fetching your content &#8211; another speed increase.</li>
<li>It saves you the bandwidth of having to serve that content up yourself which can result in massive cost savings if you&#8217;re a high traffic site.</li>
<li>Just like your visitor already cached the content, their workstation or local DNS server may also have the CDN&#8217;s IP address cached which further speeds load time.</li>
</ul>
<p>While providing a service like this does cost Google or the providing company more in hosting, it provides an overall efficiency gain. Less bandwidth and CPU is used on the Web as a whole by Google providing this service. That means less cooling is required in data centers, less networking hardware needs to be manufactured to support the traffic on the web and so on.</p>
<p>The environment benefits as a whole by Google or another large provider hosting these frequently loaded scripts for us.</p>
<p>The savings are passed on to lone developers and startups who are using the scripts. For smaller companies who are trying to minimize costs while dealing with massive growth this can result in a huge cost savings that helps them to continue to innovate.</p>
<p>The savings are also passed on to bandwidth providers like NTT, AT&amp;T, Comcast, Time Warner, Qwest and other bandwidth providers who&#8217;s customers consume less bandwidth as a result.</p>
<p>So my suggestion is that Google and bandwidth providers collaborate to come up with a package of the most used open source components online and keep the list up to date. Then provide local mirrors of each of these packages with a fallback mechanism if the package isn&#8217;t available. Google should define an IP address similar to their easy to remember DNS ip address 8.8.8.8 that hosts these scripts. Participating ISP&#8217;s route traffic destined for that IP address to a local mirror using a system similar to <a href="http://en.wikipedia.org/wiki/Anycast">IP Anycast</a>. An alternative URL is provided via a query string. e.g.</p>
<p>http://9.9.9.9/js/prototype.1.5.0.js?fallback=http://mysite.com/myjs/myprototype.1.5.0.js</p>
<p>If the local ISP isn&#8217;t participating the request is simply routed to Google&#8217;s 9.9.9.9 server as per normal.</p>
<p>If the local ISP (or Google) doesn&#8217;t have a copy of the script in their mirror it just returns a 302 redirect to the fallback URL which the webmaster has provided and which usually points to the webmaster&#8217;s own site. A mechanism for multiple fallbacks can easily be created e.g. fallback1, fallback2, etc.</p>
<p>Common scripts, icon libraries and flash components can be hosted this way. There may even be scenarios where a company (like Google) is used by such a large percentage of the Net population that it makes sense to put them on the 9.9.9.9 mirror system so that local bandwidth providers can serve up commonly used components rather than have to fetch them from via their upstream providers. Google&#8217;s logo for example.</p>
]]></content:encoded>
			<wfw:commentRss>http://markmaunder.com/2010/bandwidth-providers-please-follow-googles-lead-in-helping-startups-the-environment-and-yourselves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL Network problem follow-up</title>
		<link>http://markmaunder.com/2009/ssl-network-problem-follow-up/</link>
		<comments>http://markmaunder.com/2009/ssl-network-problem-follow-up/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 18:23:30 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[networks]]></category>
		<category><![CDATA[routers]]></category>
		<category><![CDATA[switches]]></category>

		<guid isPermaLink="false">http://markmaunder.com/?p=329</guid>
		<description><![CDATA[It&#8217;s now exactly a week since I blogged about my SSL issues over our network. To summarize, when fetching documents on the web via HTTPS from my servers, the connection would just hang halfway through until it timed out. I had confirmed that it wasn&#8217;t the infamous PMTU ICMP issue that is common if you&#8217;re fetching documents via HTTPS from a misconfigured web server. It was being caused by inbound HTTPS data packets getting dropped and when the retransmit would ...]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s now exactly <a href="http://markmaunder.com/2009/ssl-timeouts-and-layer-3-infrastructure/">a week since I blogged about my SSL issues over our network</a>. To summarize, when fetching documents on the web via HTTPS from my servers, the connection would just hang halfway through until it timed out. I had confirmed that it wasn&#8217;t the infamous <a href="http://www.google.com/search?hl=en&amp;client=firefox-a&amp;rls=org.mozilla:en-US:official&amp;hs=XuQ&amp;ei=qkPjSveOA46oNqii3L0B&amp;sa=X&amp;oi=spell&amp;resnum=0&amp;ct=result&amp;cd=1&amp;ved=0CA8QBSgA&amp;q=PMTU+ICMP&amp;spell=1" target="_blank">PMTU ICMP issue</a> that is common if you&#8217;re fetching documents via HTTPS from a misconfigured web server. It was being caused by inbound HTTPS data packets getting dropped and when the retransmit would occur the retransmitted packets would also get dropped. Exactly the same packet every time would get dropped.</p>
<p>Last night we solved it. We&#8217;ve been working with Cisco for the last week and have been through several of their engineers with no progress. I was seeing packets arriving on my provider&#8217;s switch (we have a great working relationship and share a lot of data like sniffer logs) &#8211; but the packet was not arriving on my switch We had isolated it to the layer 2 infrastructure.</p>
<p>Last night we decided to throw a hail-mary and my provider changed the switch module my two HSRP uplinks were connected to from one 24 port module to another. And holycrap it fixed the problem. We then reconfigured routes and everything else so that the only thing that had changed was the 24 port module. And it was still fixed.</p>
<p>This is the strangest thing I&#8217;ve seen and the Cisco guys we were working with echoed that. It&#8217;s extremely rare for Layer 2 infrastructure which is fairly brain-dead to cause errors with packets that have a higher level protocol like HTTPS in common. These devices examine the layer-2 header with the MAC address and either forward the entire packet or not. The one thing we did notice is that the packets that were getting dropped were the last data packet in a PDU (protocol data unit) and were therefore slightly shorter by about 100 bytes than the other packets in the PDU that were stuffed full of data.</p>
<p>But we&#8217;ve exorcised the network ghosts and data is flowing smoothly again.</p>
]]></content:encoded>
			<wfw:commentRss>http://markmaunder.com/2009/ssl-network-problem-follow-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL Timeouts and layer 3 infrastructure</title>
		<link>http://markmaunder.com/2009/ssl-timeouts-and-layer-3-infrastructure/</link>
		<comments>http://markmaunder.com/2009/ssl-timeouts-and-layer-3-infrastructure/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 07:55:34 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[networks]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://markmaunder.com/?p=297</guid>
		<description><![CDATA[I&#8217;ve spent the last 5 days agonizing over a very hard problem on my network. Using curl, LWP::UserAgent, openssl, wget or any other SSL client, I&#8217;d see connections either timeout or hang halfway through the transfer. Everything else works fine including secure protocols like SSH and TLS. In fact inbound SSL connections work great too. It&#8217;s just when I connect to an external SSL host that it hiccups.
If you remember your OSI model, SSL is well above layer 3 (IP ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the last 5 days agonizing over a very hard problem on my network. Using curl, LWP::UserAgent, openssl, wget or any other SSL client, I&#8217;d see connections either timeout or hang halfway through the transfer. Everything else works fine including secure protocols like SSH and TLS. In fact inbound SSL connections work great too. It&#8217;s just when I connect to an external SSL host that it hiccups.</p>
<p>If you remember your <a href="http://en.wikipedia.org/wiki/OSI_model">OSI model</a>, SSL is well above layer 3 (IP addresses and routers) and layer 2 (LAN traffic routed via MAC addresses). So the last place I planned to look was the network infrastructure.</p>
<p>I eliminated specific clients by trying others and I eliminated the OS by spinning up virtual machines running other versions of Linux. I elminated my physical hardware by reproducing it on a non Dell server and having one of the ops guys repro it on his OS X macbook.</p>
<p>And just to prove it was the network, which is all that was left, I set up a VPN from one of my machines that tunnelled all traffic over the VPN to a machine on an external network that acted as the router, thereby encapsulating the layer 2 and 3 traffic in a layer 4 and 5 VPN. And the problem went away. So I knew it was the network.</p>
<p>Tonight a few minutes ago my colo provider took down my local router and I gracefully failed over to the redundant router, and lo and behold the problem has gone away.</p>
<p>I still don&#8217;t know what it is, but what I do know is that a big chunk of layer 3 infrastructure has been changed and it&#8217;s fixed a layer 5 problem. What&#8217;s weird is that TCP connections (which is what SSL rides on top of) have delivery confirmation. So if the problem was packet loss, TCP would just request the packet again. So it&#8217;s something else and something that only affects SSL &#8211; and only connections bound from my servers out to the Internet.</p>
<p>The reason I&#8217;m posting this is because during the hours I spent Googling this issue this week (and finding nothing) I saw a lot of complaints about SSL timeouts and no solutions. So if you&#8217;re getting timeouts like this, check your underlying infrastructure and you might just be surprised. To verify that it&#8217;s a network problem, set up a VLAN using PPTP. Set up NAT on the external linux machine that is your VLAN server. Then disable the default gateway on the machine having the issue (the VLAN client) and verify that all traffic is routing via your VLAN. Then try and reproduce the SSL timeout and if it doesn&#8217;t occur, it&#8217;s probably your layer 2 or 3 infrastructure.</p>
]]></content:encoded>
			<wfw:commentRss>http://markmaunder.com/2009/ssl-timeouts-and-layer-3-infrastructure/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
