Windows XP Peer-to-Peer SDK F.A.Q.
Windows XP Peer-to-Peer SDK Questions:
Q: What is a F.A.Q.?
A: F.A.Q. stands for Frequently Asked Questions. These questions are a compilation of common questions surrounding the Windows XP Peer-to-Peer SDK.
Q: What is the Advanced Networking Pack for Windows XP?
A: The Advanced Networking Pack for Windows XP is a set of platform technologies designed to run on Windows XP SP1 to enable the use and deployment of distributed, peer-to-peer applications based on Internet standards. The update includes an updated version of the IPv6 stack, including support for NAT traversal for IPv6 applications. An IPv6 firewall is included to protect the end-user's machine from unsolicited IPv6 traffic, while the peer-to-peer platform makes it simple to write distributed solutions.
Q: What is the Windows Peer-to-Peer Networking Infrastructure?
A: Windows Peer-to-Peer (P2P) Networking is a developer platform to create P2P applications for computers running Windows XP. Windows P2P networking allows application developers to utilize powerful personal computers that exist at the edge of the Internet, to create exciting new distributed applications. P2P technology provides an opportunity to make existing applications work together in new and useful ways. For more information see: http://www.microsoft.com/windowsxp/p2p.
Q: What is IPv6 and Teredo?
A: IPv6 is the next generation Internet Protocol that enables communication across a diverse set of networks. IPv6 Teredo is a transition technology that allows automatic IPv6 tunneling between hosts that are located across one or more IPv4 NAT devices.
Q: Where can I obtain more information regarding the various aspects of the Advanced Networking Pack for Windows XP?
A: To obtain more information about IPv6 please see: http://www.microsoft.com/ipv6. For more information about Windows Peer-to-Peer Networking, please see: http://www.microsoft.com/windowsxp/p2p. In addition, more information about the IPv6 Internet Connection Firewall can be found here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipv6icf/ics/ipv6_icf_start_page.asp.
Windows XP Peer-to-Peer SDK Questions:
Q: What are some scenarios the Windows XP Peer-to-Peer SDK will enable developers to build?
A: Compelling scenarios inside the corporation include:
Compelling scenarios for extranet and outside the firewall:
Q: How do I programmatically open ports in the IPv6 Internet Connection Firewall on the local machine?
A: In order to programmatically traverse the IPv6 Firewall, an application developer must call the appropriate Internet Connection Firewall API. Please see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipv6icf/ics/ipv6_icf_start_page.asp for more information.
Q: What ports does the Windows Peer-to-Peer Networking Infrastructure use?
A: The Windows Peer-to-Peer Networking Grouping and PNRP services utilize IPv6 ports 3587 (TCP) and 3540 (UDP). These ports must be open in an IPv6 Firewall for Windows Peer-to-Peer applications to communicate. By default, these ports are opened on the local IPv6 Internet Connection Firewall when Windows Peer-to-Peer Networking is enabled. If the application utilizes Windows Peer-to-Peer Graphing, the application specific ports must be opened in the IPv6 Internet Connection Firewall.
Q: Do I need to install the Advanced Networking Pack for Windows XP in order to run the Windows XP Peer-to-Peer SDK samples?
A: Yes, the Windows XP Peer-to-Peer SDK samples reference features that ship with the Advanced Networking Pack for Windows XP. In addition, IPv6 and Peer-to-Peer must be enabled. To enable Peer-to-Peer Networking, simply go to “Add/Remove Programs->Add/Remove Windows Components->Network Services” and check “Peer-to-Peer Networking”.
Q: Why does Graph Chat say that the graph is opened, but I am still unable to send messages/receive messages/connect to the graph?
A: It may be that the IPV6 Internet Connection Firewall is blocking the traffic. Graph Chat does not currently open ports in the IPv6 Internet Connection Firewall. In order for Graph Chat to function properly a user must manually open the port or disable the IPv6 Internet Connection Firewall service on the local machine. To disable the IPv6 Internet Connection Firewall on the local machine, simply go to “Add/Remove Programs->Add/Remove Windows Components->Network Services” and uncheck “IPv6 Internet Connection Firewall”. This, however, will reset the port openings in the IPv6 Internet Connection Firewall. To disable the firewall and retain port settings, disable the “IPv6 Internet Connection Firewall” service via the “Services” application located in the “Administrative Tools” folder in the “Control Panel”. For more information on how to manually open ports, please see KB817778 http://support.microsoft.com?kbid=817778. When writing a Graphing application, it is strongly recommended that the application attempt to open ports in the Firewall programmatically. To learn more about the IPv6 Internet Connection Firewall API see: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipv6icf/ics/ipv6_icf_start_page.asp.
Q: Can multiple Graph/Group Chats be launched on the same machine?
A: Yes, multiple Graph/Group Chat applications can be launched on the same machine and in the same user context.
Q: Can I share files using the Windows Peer-to-Peer Networking Infrastructure?
A: No, Microsoft’s Peer-to-Peer Infrastructure does not inherently have “file sharing” support built in. However, a solution could be built using the infrastructure.
Q: Why do I have to set an "expiration time" for my records?
A: Since each piece of data is replicated to each node in the peer-to-peer graph, an expiration time is needed to ensure data is permanently deleted, and does not take up unnecessary hard drive space.
Q: It seems that Group Chat is unable to connect to groups created with the Beta. Are Beta groups compatible with RTM Groups?
A: No. The Grouping security layer was modified from Beta to the final release. Backwards compatibility is not supported. Therefore, groups created with the final release via the Group Browser or Group Chat sample applications will not be compatible with groups created with the Beta Group Chat application.
Q: How can group invitations be transferred to the intended recipient?
A: Invitations obtained via PeerGroupCreateInvitation can be transferred outside of the peer-to-peer infrastructure. For example, an invitation can be sent via an email or placed on a private share.
Q: What is the difference between Peer-to-Peer Graphing and Peer-to-Peer Grouping?
A: Peer-to-Peer Graphing is the underlying communication transport that provides the stable, reliable, and robust infrastructure allowing Windows Peer-to-Peer applications to communicate. In addition, a security model can be associated with a graph to secure data and authenticate peers. Peer-to-Peer Grouping is built on top of Peer-to-Peer Graphing. Peer-to-Peer Grouping provides Microsoft’s security model implementation and allows multiple applications to share a graph. In addition, Peer-to-Peer Grouping uses PNRP as the discovery mechanism for IP endpoints of members in the group.