Introduction ============ NSIS (Next Steps In Signaling) is a modular framework developed at the IETF NSIS working group. It provides means to establish and manage network control state along a data path between two nodes communicating on the Internet. NSIS builds upon the General Internet Signaling Transport (GIST) protocol. (Note: GIST was formerly known as the General Internet Messaging Protocol for Signaling (GIMPS) but was renamed in the 63th IETF meeting) GIST provides the basic transport functionality that is common to all signaling applications (e.g. signaling aware node discovery and transport layer connections). Above GIST, a number of signaling protocols, known as NSIS Signaling Layer Protocols (NSLPs), can be run. Examples are QoS NSLP and NAT/FW NSLP. This release provides NSIS for the Windows platform. This version of NSIS is a demonstration prototype only with very limited capabilities. Purpose of the Prototype ======================== This demonstration prototype can be used in a SOHO network to reserve QoS on the outgoing router for the Voice-over-IP software Skype. The NSIS prototype detects the UDP/TCP ports used by the applications running on the Windows machine and lists them on a GUI. All entries are matched against a profile (which is hardcoded at the moment) to determine the required QoS. The current hardcoded profile assign 10 kbps to the UDP port used by Skype. After the described lookup process, the prototype triggers the QoS NSLP to actually require the QoS ressources. The details on how this is done is given later in this file. Requirements ============ In order to run the demonstration prototype on Windows, you will need the .NET Framework 2.0 (Redistributable), which can be downloaded at http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=de (if this link does not work, search for ".NET Framework 2.0 Redistributable" on the Microsoft homepage) Installation ============ The installation is very easy. Just unzip the package and edit the nsis.conf to fit your needs. Afterwards, start the NsisTool.exe. If it does not start up, check again that .NET Framework 2.0 is installed. How to use the prototype? ========================= The prototype has a very simple GUI consisting of only two buttons and two data viewers. Upon startup, you will see the UDP/TCP connection table in a grid view on the upper side of the program. The two buttons are located in the middle, while the debug output listbox is located on the bottom of the program. The "Fetch current TCP/IP Connections" button is used to update the connection table, while the "Reserve QoS" button actually triggers the QoS NSLP to reserve the QoS resources. At the moment, the reservations can not be torn down afterwards. What does the prototype do in the background? ============================================= As said, one major component of the prototype is the lookup of the connection table. In addition, upon startup, the program starts GIST and QoS NSLP, as well as a QoS NSLP Client instance. When the prototype triggers the QoS NSLP to reserve QoS, it constructs the Flow Identifier (MRI) as follows: The source adress is chosen based in the NSIS configuration The source port is chosen based on the connection table (Skype UDP port) The source prefix is set to 32, so this requires an exact match The destination address is a fixed host on the internet The destination prefix is set to 0, which is a complete wildcard This flow identifier will result in a reservation on the first NSIS aware router. The request will not be forwarded beyond the first NSIS aware router. Therefore, this configuration is ideal to configure a NAT router in a SOHO network. (For example a router running NSIS on OpenWRT - see our webpage) Further information =================== Further information can be obtained from our website: http://user.informatik.uni-goettingen.de/~nsis/ On the "Getting help" page you will find a mailing list. Please feel free to ask any questions regarding the windows prototype or general NSIS questions on this mailing list. Have fun! http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=de