Peer-to-Peer Programming with.NET 3.5 Dean Fiala Very Practical Software vpsw.com.

Slides:



Advertisements
Similar presentations
P2P in Windows See-Mong Tan Microsoft Corporation.
Advertisements

Enabling IPv6 in Corporate Intranet Networks
Understanding Internet Protocol
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
Nassau Community College
2.1 Installing the DNS Server Role Overview of the Domain Name System Role Overview of the DNS Namespace DNS Improvements for Windows Server 2008 Considerations.
Implementing Domain Name System
Module 4: Configuring Network Connectivity
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
1 Objectives Wireless Access IPSec Discuss Network Access Protection Install Network Access Protection.
LAN Protocols and TCP/IP © N. Ganesan, Ph.D.. Module A Preview of Major LAN Protocols.
Application Layer At long last we can ask the question - how does the user interface with the network?
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Chapter 8: Configuring Network Connectivity. Installing Network Adapters Network adapter cards connect a computer to a network. Installation –Plug and.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 5 Introduction to DNS in Windows Server 2008.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Networking with Windows Vista.. Vista’s New Tools and Features The Network and Sharing Center Network Discovery Network Map Network Diagnostics.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Getting Started with Windows Communication Foundation 4.5 Ed Jones, MCT, MCPD, MCTS Consultant RBA Inc.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 14 Remote Access.
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
Chapter 6 Configuring, Monitoring & Troubleshooting IPsec
Week #10 Objectives: Remote Access and Mobile Computing Configure Mobile Computer and Device Settings Configure Remote Desktop and Remote Assistance for.
Network Services Lesson 6. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Setting up common networking services Understanding.
Module 7: Configuring TCP/IP Addressing and Name Resolution.
Name Resolution Domain Name System.
Implementing DNS Module D 7: Implementing DNS
1 Windows 7 and A+ By Jean Andrews
1 Windows 7 and A+ By Jean Andrews
Windows Server 2008 R2 Domain Name System Chapter 5.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Network Protocols Chapter 25 (Data Communication & Networking Book): Domain Name System (DNS) 1.
Chapter 17 Domain Name System
Managing Windows Server 2008 R2 Lesson 2. Objectives.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
Module 8 Configuring Mobile Computing and Remote Access in Windows® 7.
Lector: Aliyev H.U. Lecture №8 Telecommunication software design for Peer - to - Peer Networking TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Chapter 8: Configuring Networking. Exploring the Network and Sharing Center 2.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
1 Kyung Hee University Chapter 18 Domain Name System.
1 Objectives Identify the basic components of a network Describe the features of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6)
Developing P2P Applications Using Windows Vista And The Windows Communication Foundation (“Indigo”) PeerChannel Sandeep K. Singhal COM311 Product Unit.
Jini Architecture Introduction System Overview An Example.
Deploying IPv6, Now Christian Huitema Architect Windows Networking & Communications Microsoft Corporation.
Virtualization Technology and Microsoft Virtual PC 2007 YOU ARE WELCOME By : Osama Tamimi.
Configuring Network Connectivity Lesson 7. Skills Matrix Technology SkillObjective DomainObjective # Using the Network and Sharing Center Use the Network.
Network Servers Chapter 13 Release 16/7/2009. Chapter Objectives Describe Client-server and Peer to Peer network model Explain server Explain Domain.
Peer to Peer Network Design Discovery and Routing algorithms
IPv6 - The Way Ahead Christian Huitema Architect Windows Networking & Communications
Web Server Administration Chapter 4 Name Resolution.
+ Logentries Is a Real-Time Log Analytics Service for Aggregating, Analyzing, and Alerting on Log Data from Microsoft Azure Apps and Systems MICROSOFT.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
1 Objectives Identify the basic components of a network Describe the features of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6)
“ is not to be used to pass on information or data. It should used only for company business!” – Memo from IBM Executive The Languages, Methods &
KAPLAN SCHOOL OF INFORMATION SYSTEMS AND TECHNOLOGY IT375 Window Enterprise Administration Course Name – IT Introduction to Network Security Instructor.
Windows Vista Configuration MCTS : Advanced Networking.
Skype.
Understand Names Resolution
CS 372 COMPUTER COMMUNICATION AND NETWORKS
Module 8: Networking Services
Peer-to-peer networking
Chapter 3: Windows7 Part 4.
Lesson 8: Configuring IP Settings MOAC : Configuring Windows Devices.
Peer-to-peer networking
Distributed Applications on Windows Vista
Network Diagnostics Framework
Presentation transcript:

Peer-to-Peer Programming with.NET 3.5 Dean Fiala Very Practical Software vpsw.com

What We’ll Cover Windows Peer-to-Peer Overview System.Net.PeerToPeer Namespace Tour Hot Peer-to-Peer Action (demo) Peek at other.NET Peer-to-Peer technologies

First Pier-to-Pier Network

Overview of Peer-To-Peer Networking Simply a collection of peers Peers act as both clients and servers Pure P2P -- No central server required (DNS-less) Hybrid P2P – server used to helped find peers Based on IPv6 (allows every device on the network to have a unique address)

Uses of P2P File Sharing Collaboration Chatting Distributed Processing

P2P Cloud Simply a collection of peers within a defined network scope Peer can belong to multiple clouds Sometimes known as a Mesh Network

Cloud Scope Global all peers on the Internet Link Local all peers on the local subnet

Cloud Status VirtualNot yet initialized SynchronizingStill initializing (bootstrapping) ActiveReady to go AloneReady to go – but not connected to any other system

Peer Name Defined as Authority.Classifer Authority.FriendlyName For unsecured names, Authority = 0 ex: 0.Fredo For secured names, Authority = SHA1 Hash of the PeerName ex: 259ef61ae2a6703fed18544a268204adba Sonny

Peer Name Resolution Protocol PNRP Secret sauce – allows peers to find each other without servers Real time – no caching like DNS Resolves Peer Names, which define Endpoints for communication

Peer Resolution In Cache? Find Peer No Ask Closest Peer In Cache? Yes Send to Requesting Peer No Closer Peer? No Sorry Yes Ask This One Ask Suggested In Cache? Ask Next Closest Peer In Cache?

PNRP v1 vs PNRP v2 NOT COMPATIBLE PNRP v1 (XP SP2 or lower) –Recursive search PNRP v2 (Vista, XP SP3) –Iterative search v2 patch available for XP SP2, KILLS v1 dependent apps

Useful Tools NETSH – Command Line utility to diagnose or set up a computer’s networking configuration Teredo – Tunneling Technology allows IPv6 traffic over IPv4 networks

Useful NETSH Commands p2p pnrp cloud show names – shows names of registered peers p2p pnrp cloud show list – shows status of clouds p2p pnrp peer add registration – quickly add a peer to clouds for testing purposes

Peer To Peer in.NET First available in.NET 3.5 Classes live in the System.Net.PeerToPeer namespace Two purposes: –Registering peers in clouds –Resolving peers in clouds

System Requirements Vista XP SP2, SP3 XP SP1 and the Advanced Networking Pack for Windows XP Server 2008

Services Required Peer Name Resolution Protocol Peer Network Identity Manager SSDP – Simple Service Discovery Protocol

Registering A Peer PeerName Endpoint PeerNameRecord 0.Somename +

Creating a PeerName (string, PeerNameType) constructor creates fully qualified PeerName in format Authority.Classifier Type = Unsecured creates 0.{FriendlyName} Type = Secured creates {Hash}.{FriendlyName}

What’s an Endpoint? An Internet Protocol address and port Can be IPv4 or IPv6 Implemented as System.Net.IPEndPoint

Why Define Endpoints? No way to find out from.NET classes what the Registered end point is if UseAutoEndpointSelection = true

How To Get A Cloud Cloud.GetAvailableClouds() returns a collection of available clouds for the peer Should return: –One Global Cloud –Plus one LinkLocal cloud for each active network adapter

Resolving A Peer PeerName Resolver PeerNameRecord 0.Somename

PeerNameRecord Information about a peer within a given cloud PeerNameRecord 0.Somename fe80::3044:488f:11b2:c2d4%10 Some Comment Some Data (up to 4K)

Hot Peer-To-Peer Action Another P2P Chat Application!

Net.PeerToPeer.Collaboration Only available in Vista  Not in Server 2008 either Framework to handle: –Discovery –Notification –Invitations –Contact Lists –Groups Beaucoup event hooks available

Exciting Collaboration Classes PeerCollaboration: duh, need to use this to access almost everything else ContactManager: access to contacts in an address book PeerApplication: an application that be shared PeerPresence: shows the status of a peer

WCF Peer Channel Built-in goodies for creating p2p applications Handles most of the plumbing Has PeerNodes, PeerMeshes and uses the PNRP Resolver Good starting point for p2p apps not tied to Vista Same requirements as using the PeerToPeer namespace

What We Covered Peer-to-Peer Overview Tour of the System.Net.PeerToPeer Namespace Hot Peer-to-Peer Action (demo) Peek at other.NET Peer-to-Peer technologies

Resources Good Overview: us/library/cc aspxhttp://msdn.microsoft.com/en- us/library/cc aspx PNRP v2 Update for XP: P2P Blog: NETSH: fbd-de1f-4c8a-b f7a3cca6a1033.mspx?mfr=true fbd-de1f-4c8a-b f7a3cca6a1033.mspx?mfr=true WCF PeerChannel: us/library/ms aspxhttp://msdn.microsoft.com/en- us/library/ms aspx

Contact Info & Shameless Plug or Blog: meets the Second Wednesday of every month