<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Core Networking : congestion control</title><link>http://blogs.msdn.com/wndp/archive/tags/congestion+control/default.aspx</link><description>Tags: congestion control</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How to Enable the Windows Vista Network Map</title><link>http://blogs.msdn.com/wndp/archive/2006/11/03/enable_5F00_vista_5F00_network_5F00_map.aspx</link><pubDate>Fri, 03 Nov 2006 14:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:937678</guid><dc:creator>wndpteam</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/wndp/comments/937678.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wndp/commentrss.aspx?PostID=937678</wfw:commentRss><description>&lt;P&gt;As Gabe mentioned in his blog post titled “&lt;A href="http://blogs.msdn.com/wndp/archive/2006/10/31/xbox-360-fall-update-includes-lltd.aspx" mce_href="http://blogs.msdn.com/wndp/archive/2006/10/31/xbox-360-fall-update-includes-lltd.aspx"&gt;Xbox 360 Fall Update Includes LLTD&lt;/A&gt;,” the Xbox 360 now includes the Link Layer Topology Discovery (LLTD) protocol.&amp;nbsp; At a basic function level, LLTD gives users a graphical representation of their home network topology.&amp;nbsp; In addition to the network map, LLTD offers network device manufacturers a standard way of ensuring that their devices are easily viewed and accessible to their users.&amp;nbsp; Windows Vista enables the Network Map by default when a user is in a location designated as “Home.”&amp;nbsp;&amp;nbsp; However, LLTD and, therefore, the Network Map are both disabled by default in “Work” and “Public” locations.&amp;nbsp; Check out this&amp;nbsp;&lt;A class="" href="http://www.microsoft.com/technet/community/columns/cableguy/cg0906.mspx#ENB" target=_blank mce_href="http://www.microsoft.com/technet/community/columns/cableguy/cg0906.mspx#ENB"&gt;Cable Guy article&lt;/A&gt; for more information on Network Location Types in Windows Vista. 
&lt;P&gt;You will receive a message inside the Network Map (Control Panel -&amp;gt; Network and Sharing Center -&amp;gt; Network Map) if the map is disabled.&amp;nbsp; As long as your network policy (group policy) does not prohibit it, enabling the Network Map on a local machine is simply a matter of enabling the right setting in the local computer policy.&amp;nbsp; 
&lt;P&gt;“Network mapping is disabled by default on domain networks.&amp;nbsp; Your network administrator can use Group Policy to enable mapping.” 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/wndp/images/937662/original.aspx" target=_new mce_href="http://blogs.msdn.com/photos/wndp/images/937662/original.aspx" atomicselection="true"&gt;&lt;IMG height=334 alt='“Network mapping is disabled by default on domain networks.  Your network administrator can use Group Policy to enable mapping" message' src="http://blogs.msdn.com/photos/wndp/images/937662/original.aspx" width=462 mce_src="http://blogs.msdn.com/photos/wndp/images/937662/original.aspx"&gt;&lt;/A&gt;&amp;nbsp; 
&lt;P&gt;The first step in locally enabling the network map is to run the Group Policy Object Editor (gpedit.msc) as an administrator on the local machine.&amp;nbsp; With User Account Control (UAC) enabled, just right-click “Command Prompt” (Start Menu-&amp;gt;All Programs-&amp;gt;Accessories) and select “Run as administrator” to open an elevated command prompt.&amp;nbsp; From the elevated command prompt, run the command “&lt;B&gt;gpedit.msc&lt;/B&gt;” (no quotes).&amp;nbsp; This will start the group policy editor for the local machine. 
&lt;P&gt;Inside of the Group Policy Object Editor, navigate the tree to &lt;B&gt;Local Computer Policy -&amp;gt; Computer Configuration -&amp;gt; Administrative Templates -&amp;gt; Network -&amp;gt; Link-Layer Topology Discovery.&lt;/B&gt; 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/wndp/images/937664/original.aspx" target=_new mce_href="http://blogs.msdn.com/photos/wndp/images/937664/original.aspx" atomicselection="true"&gt;&lt;IMG height=297 alt="Group Policy Object Editor" src="http://blogs.msdn.com/photos/wndp/images/937664/original.aspx" width=463 mce_src="http://blogs.msdn.com/photos/wndp/images/937664/original.aspx"&gt;&lt;/A&gt; 
&lt;P&gt;Once you are in the &lt;B&gt;Link-Layer Topology Discovery&lt;/B&gt; section of the editor, simply Right-click and open properties for “Turn on Mapper I/O (LLTDIO) driver” and enable the “Allow operation while in domain” option. 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/wndp/images/937659/original.aspx" target=_new mce_href="http://blogs.msdn.com/photos/wndp/images/937659/original.aspx" atomicselection="true"&gt;&lt;IMG height=367 alt="Turn on Mapper I/O Dialog" src="http://blogs.msdn.com/photos/wndp/images/937659/original.aspx" width=329 mce_src="http://blogs.msdn.com/photos/wndp/images/937659/original.aspx"&gt;&lt;/A&gt; 
&lt;P&gt;You should now be able to see your network mapped out in all of its graphical glory!&amp;nbsp; If you would also like to use the network map on a public network, you can enable the “Allow operation while in public network” option.&amp;nbsp; Network domain administrators who want to enable the Network Map across a group of machines should follow these same instructions and, additionally, link the policy to the desired Active Directory container. 
&lt;P&gt;I would be remiss if I did not touch on the “Turn on Responder (RSPNDR) driver” option that sits just below the LLTDIO option in the UI.&amp;nbsp; The LLTD Responder driver allows PCs and network devices, like the Xbox 360, to present device details to the network such as the device’s manufacturer, model #, configuration URL, etc.&amp;nbsp; 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/wndp/images/937665/original.aspx" target=_new mce_href="http://blogs.msdn.com/photos/wndp/images/937665/original.aspx" atomicselection="true"&gt;&lt;IMG height=368 alt="XBox 360 Media Center Extender Properties Dialog" src="http://blogs.msdn.com/photos/wndp/images/937665/original.aspx" width=325 mce_src="http://blogs.msdn.com/photos/wndp/images/937665/original.aspx"&gt;&lt;/A&gt;&amp;nbsp; 
&lt;P&gt;Beyond offering users the convenience of having a visual representation and providing right-click access to information about the devices, the LLTD Responder also plays an important role in responding to, and taking part in, network diagnostics.&amp;nbsp; LLTD helps to make distributed and coordinated network diagnostics possible, and if you are creating home network devices, you should strongly consider implementing an LLTD responder.&amp;nbsp; I use the word &lt;I&gt;implement&lt;/I&gt; loosely here, because, very soon we will make an LLTD porting kit generally available that gives you everything that you need to incorporate LLTD into your devices.&amp;nbsp;&amp;nbsp; More information on LLTD, including the LLTD QoS Extensions, is available on the &lt;A href="http://www.microsoft.com/rally/" mce_href="http://www.microsoft.com/rally/"&gt;Windows Rally site&lt;/A&gt;. We will announce the general availability of the LLTD porting kit here on our blog. 
&lt;P&gt;-Billy Anders&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=937678" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wndp/archive/tags/QoS/default.aspx">QoS</category><category domain="http://blogs.msdn.com/wndp/archive/tags/congestion+control/default.aspx">congestion control</category><category domain="http://blogs.msdn.com/wndp/archive/tags/Rally/default.aspx">Rally</category></item><item><title>Advances in Windows TCP/IP Networking</title><link>http://blogs.msdn.com/wndp/archive/2006/04/25/winhec-2006-tcpip-advances.aspx</link><pubDate>Tue, 25 Apr 2006 22:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:583414</guid><dc:creator>wndpteam</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wndp/comments/583414.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wndp/commentrss.aspx?PostID=583414</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Significant advances have been made, both in hardware and in software, over the past few years that have enabled gigabit networking. From being unavailable just a few years back, it has become mainstream technology with GigE NICs available in an increasing number of clients and servers today. The ever increasing networking capacity and the need for high throughput over long distance transfers makes it imperative that we develop software which functions efficiently while taking advantage of all the available bandwidth. There are several bottlenecks that prevent high performance transfers end-to-end: host system on the sender and receiver, the network and of course the applications themselves. For Windows networking stack to deliver high throughput in gigabit networks and beyond, we have to alleviate some or all of these bottlenecks. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Let’s try and analyze some of these bottlenecks. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;CPU bottleneck: Sending and receiving data at gigabit speeds requires a tremendous amount of processing: to compute checksums, form TCP/IP headers, validate received packets, copy data across buffers, and so on. Doing all this processing in software has significant processing demands with most of the CPU consumed in just sending and receiving data even with the fastest available off the shelf processors. Technologies like task offload have helped alleviate some of CPU load by offloading tasks like checksum computation. However, the CPU continues to be the bottleneck.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Scalability bottleneck: Due to physical limitations, scalability in processing power has been made possible by using multiple processors or multi-core processors. Most servers ship with multiple processors these days. However, the networking stack has always supported processing of received packets on a single processor only. This implies that for servers with significant network load, performance is limited to the processing power of one CPU and does not scale even when more processors are added.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;TCP congestion control: the TCP protocol was designed in late 1980s when the bandwidths were fairly low. Principles of congestion control were developed to ensure that the end systems cooperate and do not cause congestion collapse on the network. TCP has scaled amazingly well to several hundred Mbps bandwidth as well as to millions of host using it across the Internet. However, as bandwidth continues to increase, inherent limitations in TCP are becoming evident. TCP was designed to be quite conservative in probing for spare bandwidth but quite aggressive to responding to any congestion indication. Congestion indications are derived based on packet losses. This imposes a theoretical limit on the throughput of TCP connection for a given loss rate. This is problematic for high bandwidth scenarios e.g. In data intensive grids and networks for high energy and nuclear physics, led by CERN, and projects like Terraservice for astronomy research, there is a need to move huge amounts of data across high bandwidth links. TCP faces challenges in scaling to such bandwidths.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;TCP receive window limitations: Applications that use TCP are limited in throughput by the maximum default receive window. Traditionally, different implementations of TCP have used a maximum default receive window value of 64KB. (The receive window field in the TCP header is a 16-bit field.) This effectively limits the amount of data the sender can send, thereby directly impacting the maximum throughput achievable on the connection. Although it is possible to change this value in the registry on Windows, it is really not easy to guess what the correct value is for a given connection. The optimal receive window size varies by connection and it is usually dependent upon the bandwidth-delay product and the application’s consumption capacity, none of which can be pre-configured in the registry. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Application bottlenecks: For gigabit throughputs, applications must be optimized so as to minimize overhead in sending and receiving data. They must also ensure that there is always enough data to send to keep the pipes full, and enough buffers posted to receive incoming data in time. Today this requires a lot of manual tuning, something that’s clearly not an option as we go forward.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;In the coming days and weeks we will discuss the advances made in the networking stack in Windows Vista and for the Longhorn Server to solve some of these problems. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Please stay tuned…&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;Murari Sridharan&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;TCP/IP Networking, Internet Protocols Team&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=583414" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wndp/archive/tags/WinHEC/default.aspx">WinHEC</category><category domain="http://blogs.msdn.com/wndp/archive/tags/networking/default.aspx">networking</category><category domain="http://blogs.msdn.com/wndp/archive/tags/offload/default.aspx">offload</category><category domain="http://blogs.msdn.com/wndp/archive/tags/TCP_2F00_IP/default.aspx">TCP/IP</category><category domain="http://blogs.msdn.com/wndp/archive/tags/congestion+control/default.aspx">congestion control</category></item></channel></rss>