1 2nd NEGST workshop P2P Overlay Network for TCP Programming with UDP Hole Punching Takayuki Okamoto, Taisuke Boku, Mitsuhisa Sato, Osamu Tatebe Graduate.

Slides:



Advertisements
Similar presentations
NAT, firewalls and IPv6 Christian Huitema Architect, Windows Networking Microsoft Corporation.
Advertisements

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman Baset and Henning Schuzrinne INFOCOMM 2006 Presenter - Bob Kinicki Presenter -
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Module 8: Concepts of a Network Load Balancing Cluster
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
Wi-Fi Structures.
Chapter 2 Internet Protocol DoD Model Four layers: – Process/Application layer – Host-to-Host layer – Internet layer – Network Access layer.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 6 Packet Filtering By Whitman, Mattord, & Austin© 2008 Course Technology.
Prepared By E.Musa Alyaman1 Networking Theory Chapter 1.
TCP/IP Reference Model Host To Network Layer Transport Layer Application Layer Internet Layer.
Network Address Translation, Remote Access and Virtual Private Networks BSAD 146 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Section 461.  ARP  Ghostbusters  Grew up in Lexington, KY  Enjoy stargazing, cycling, and mushroom hunting  Met Mario once (long time ago)
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Design and implementation  Main features  Socket API  No need to modify existing applications/middleware  Overlay network  FW/NAT traversal.
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
Jan 29, 2008CS573: Network Protocols and Standards1 NAT, DHCP Autonomous System Network Protocols and Standards Winter
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
CS 5565 Network Architecture and Protocols
SOCKS Group: Challenger Member: Lichun Zhan. Agenda Introduction SOCKS v4 SOCKS v5 Summary Conclusion References Questions.
Introduction to Networking Concepts. Introducing TCP/IP Addressing Network address – common portion of the IP address shared by all hosts on a subnet/network.
Advanced Network Architecture Research Group 2001/11/149 th International Conference on Network Protocols Scalable Socket Buffer Tuning for High-Performance.
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
CS 3214 Computer Systems Godmar Back Lecture 24 Supplementary Material.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
Chapter 6: Packet Filtering
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
Copyright ©Universalinet.Com, LLC 2009 Implementing Secure Converged Wide Area Networks ( ISCW) Take-Aways Course 1: Cable (HFC) Technologies.
Common Devices Used In Computer Networks
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
1 Introduction to Networking Dr. Mahdi Nasereddin PPU.
SG-VRT ppt Page 1 VPN Broadband Communication Risk-free networking connection via PLANET PLANET Technology Corp.
Grid Appliance – On the Design of Self-Organizing, Decentralized Grids David Wolinsky, Arjun Prakash, and Renato Figueiredo ACIS Lab at the University.
Module 4: Designing Routing and Switching Requirements.
VIRTUAL PRIVATE NETWORK By: Tammy Be Khoa Kieu Stephen Tran Michael Tse.
15-1 Networking Computer network A collection of computing devices that are connected in various ways in order to communicate and share resources.
Chapter 4, slide: 1 Chapter 4: Network Layer r Introduction r IP: Internet Protocol  IPv4 addressing  NAT  IPv6 r Routing algorithms  Link state 
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Floodless in SEATTLE : A Scalable Ethernet ArchiTecTure for Large Enterprises. Changhoon Kim, Matthew Caesar and Jenifer Rexford. Princeton University.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Ch 1. Computer Networks and the Internet Myungchul Kim
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Online-Offsite Connectivity Experiments Catalin Meirosu *, Richard Hughes-Jones ** * CERN and Politehnica University of Bucuresti ** University of Manchester.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
Network and the internet Part eight Introduction to computer, 2nd semester, 2009/2010 Mr.Nael Aburas Faculty of Information.
Unleashing the Power of IP Communications™ Calling Across The Boundaries Mike Burkett, VP Products September 2002.
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
CS 5565 Network Architecture and Protocols Godmar Back Lecture 14.
Networks and the Internet Topic 3. Three Important Networking Technologies Networks, Internet, WWW.
KAPLAN SCHOOL OF INFORMATION SYSTEMS AND TECHNOLOGY IT375 Window Enterprise Administration Course Name – IT Introduction to Network Security Instructor.
Network Processing Systems Design
NAT (Network Address Translation)
Supplementary Material
CIS 700-5: The Design and Implementation of Cloud Networks
Supplementary Material
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Planning and Troubleshooting Routing and Switching
Computer Data Security & Privacy
NTHU CS5421 Cloud Computing
Network Architecture for Cyberspace
Cengage Learning: Computer Networking from LANs to WANs
DHCP: Dynamic Host Configuration Protocol
Presentation transcript:

1 2nd NEGST workshop P2P Overlay Network for TCP Programming with UDP Hole Punching Takayuki Okamoto, Taisuke Boku, Mitsuhisa Sato, Osamu Tatebe Graduate School of Systems and Information Engineering, University of Tsukuba

2nd NEGST workshop 2 Abstract Large amount of idle PCs in the world Large amount of idle PCs in the world Behind NAT and firewall Special programming is required to communicate with each other Relay server, NAT traversal We are developing a P2P communication library to ease to use PCs behind NAT and firewall We are developing a P2P communication library to ease to use PCs behind NAT and firewall UDP hole punching Original reliable communication library on UDP/IP User level management We use the term of “NAT” for both NAT boxes and firewalls hereafter

2nd NEGST workshop 3 Outline Motivation and objective Motivation and objective P2P computing Proposal of a scalable communication framework based on NAT traversal Proposal of a scalable communication framework based on NAT traversal Design and implementation of communication library Evaluation of communication performance Evaluation of communication performance Performance for UDP with our reliable communication library Works in France Works in France

2nd NEGST workshop 4 Motivation & background NAT problem NAT problem Most of computing nodes are behind firewalls or NAT (Network Address Translation) boxes These nodes can’t communicate with each other directly With relay transfer, the bandwidth of relay-nodes becomes a bottleneck NAT traversal techniques NAT traversal techniques With several negotiation procedures, the nodes can communicate directly through intermediate NATs Complicated negotiation is required on each application program

2nd NEGST workshop 5 Objective Goal: providing a communication framework for efficient and easily programmable HPC-P2P computing Goal: providing a communication framework for efficient and easily programmable HPC-P2P computing Easy to use nodes behind NATs High scalability High throughput High portability for a large variety of environments

2nd NEGST workshop 6 Requirement specification Direct communication based on NAT traversal Direct communication based on NAT traversal Name space independent from the physical one Name space independent from the physical one Fully distributed management system Fully distributed management system User-level implementation User-level implementation

2nd NEGST workshop 7 Overlay networks Virtual networks constructed on application layer Virtual networks constructed on application layer Generally defined as “a routing (relay) system among involved nodes” Generally defined as “a routing (relay) system among involved nodes” Independent from the physical network Relay nodes may become bottlenecks Applications neglect the network topology Our system Our system Name space and communication methods between any pair of nodes without packet-relay Applications can be designed for effective communication on physical network Supporting both applications and frameworks

2nd NEGST workshop 8 Design concept of our system Two different types of communication Two different types of communication Managements and controls in our system Data transfer on applications Name & negotiation (management system) Data transfer (communication library) RequirementConsistency, quick response High throughput Style Server-client, DHT P2P TopologyTreeDirect Feature Using super-node with very few traffic Without relay-node High scalability

2nd NEGST workshop 9 Design of communication library Socket API compatible with TCP/IP Socket API compatible with TCP/IP Easy porting of existing applications written in TCP/IP Easy programming with large flexibility - not limited to “master-slave” style Communication method is automatically selected Communication method is automatically selected Pure (direct) TCP/IP is the best UPnP is supported by wide class of home-use NATs UDP hole punching is mostly available on NATs ⇒ for TCP-programming, reliable streaming communication feature must be provided by software

2nd NEGST workshop 10 Reliable communication on UDP/IP RI2N/UDP RI2N/UDP Developed by JST-CREST “Mega-Scale Computing” Project Basically designed for fault-tolerant communication on PC cluster with Ethernet Based on UDP/IP, but provides TCP-like streaming communication, retransmission and simple congestion control algorithm Porting to our communication layer for P2P computing ⇒ SoU (Stream on UDP) library Porting to our communication layer for P2P computing ⇒ SoU (Stream on UDP) library

2nd NEGST workshop 11 Preliminary performance evaluation Performance evaluation on SoU library Performance evaluation on SoU library Throughput Latency Environment Environment Two client nodes in two houses under different ISPs over the Internet The server node in University of Tsukuba Home-use “broadband router” to be used BBR-4HG : max 92Mbps BLR3-TX4 : max 90Mbps Four connection methods Four connection methods (1) TCP DMZ (2) SoU DMZ (3) TCP relay (4) SoU + UDP hole punching University SINET(MEXT) ISP2(BB.Excite) ISP1(So-net)

2nd NEGST workshop 12 Connection methods (1) and (2) Method (1): TCP/IP with DMZ function of NAT Method (1): TCP/IP with DMZ function of NAT Method (2): SoU with “UDP” DMZ function of NAT Method (2): SoU with “UDP” DMZ function of NAT DMZ function: port forwarding function to transfer all inbound packets on NAT to a node behind NAT setting manually TCP DMZ SoU DMZ TCP/IP or UDP/IP

2nd NEGST workshop 13 Connection method (3) TCP/IP packet relay through Server TCP/IP packet relay through Server Each node makes a TCP/IP channel with the server The server relays packets from one side to the other side through TCP/IP channel Two times of transmission is required to send a packet TCP relay TCP/IP

2nd NEGST workshop 14 Connection method (4) SoU over UDP hole punching SoU over UDP hole punching All nodes share the information of IP addresses and ports by the server through the management channel with TCP/IP Two client nodes establish a direct communication channel with UDP/IP by UDP hole punching Over this UDP channel, SoU is used for streaming and reliable communication between Node-A and Node-B SoU + UDP hole punching UDP hole punching Information = address + port SoU connection Data transfer

2nd NEGST workshop 15 Throughput TCP DMZ vs. SoU + UDP hole punching Simple vs. complex Different only 15% Realizing P2P direct communication without NAT problem TCP DMZ vs. TCP relay Direct vs. indirect TCP relay is 45% higher Communication path between ISPs Throughput depends on bandwidth between ISPs University has a strong connection with both ISPs TCP relay makes a bottleneck on scalable system SoU + UDP hole punching is the best way for P2P computing Single-sided burst transfer

2nd NEGST workshop 16 Latency Three methods Very small difference Physical latency is large Difference among protocols is relatively small Same hop-count ≈ same latency TCP relay The largest Double time hop-count Latency depends on the number of hops in WAN Throughput depends on absolute bandwidth Average time for 1 byte message transfer

2nd NEGST workshop 17 Works in France (1) Porting UDP hole punching in Private Virtual Cluster (tun version) Porting UDP hole punching in Private Virtual Cluster (tun version) PVC provides IP level virtualization Reliability is not required Throughput on LAN achieves 90 Mbps on 100BASE-TX with tuning of MTU

2nd NEGST workshop 18 Works in France (2) Making arrangements for performance evaluation between France and Japan Making arrangements for performance evaluation between France and Japan Nodes in Grid5000 can be used only with their self 2 nodes in France and 4 nodes in Japan are available

2nd NEGST workshop 19 Future works Performance improvement of SoU library Performance improvement of SoU library Implementing more sophisticated algorithms of flow control Performance evaluation between France and Japan Performance evaluation between France and Japan Comparing SoU with TCP Upgrading SoU for throughput with large latency

2nd NEGST workshop 20

2nd NEGST workshop 21

2nd NEGST workshop 22

2nd NEGST workshop 23 The Procedure of UDP hole punching ×?×? to NAT-2:2000 Sharing the Information of IP address and port This method is available with “Cone NATs” Server Created by outbound packets to NAT-1:1000 ×?×?

2nd NEGST workshop 24 Motivation & background P2P (Peer-to-peer) computing and its potential power P2P (Peer-to-peer) computing and its potential power Utilize a great potential computation power provided by a number of PCs Public Resource Computing : Aggregating the computation power of idling PCs in home and office in P2P manner Volunteer computing (BOINC, etc) Supporting only master-worker style applications

2nd NEGST workshop 25 Conclusion We proposed a communication framework for P2P computing for HPC applications with high scalability We proposed a communication framework for P2P computing for HPC applications with high scalability Easily programmable even through NATs Scalable for a number of nodes without relay- server bottleneck Performance evaluation on WAN environment Performance evaluation on WAN environment SoU library provides an acceptable performance Relatively large cost to establish a connection, but negligible for long-term HPC applications Our system has acceptable performance and scalability for HPC-P2P Our system has acceptable performance and scalability for HPC-P2P

2nd NEGST workshop 26 Related work Generic studies : JXTA, NAT BLASTER, STUNT, OCALA and Skype A2A API … Generic studies : JXTA, NAT BLASTER, STUNT, OCALA and Skype A2A API … NAT traversal techniques NAT traversal techniques Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems [Alexandre et at al. HPDC’04] Simultaneous TCP : Another TCP connection establishment procedure on RFC793 User-level implementation Usable under more particular condition than UDP hole punching Overlay network without relays Overlay network without relays Private Virtual Cluster: Infrastructure and Protocol for Instants Grids. [Ala et at al. Europar’06] High application portability with TUN/TAP Installation needs root authority

2nd NEGST workshop 27 NAT traversal techniques Techniques to allow a direct communication among nodes behind NATs Techniques to allow a direct communication among nodes behind NATs UDP hole punching The most widely used method and easy to implement on user- level Communication is limited to UDP/IP UPnP (Universal Plug and Play) To configure hardware devices temporally through the network UDP/IP and TCP/IP are available Each NAT box must support the feature explicitly They are used mainly in multimedia applications VoIP (Skype, Google Talk, etc.) Constant throughput is required for long period Several amount of packet-loss is allowed without the retransmission for UDP/IP For wider variety of applications, we need more concrete and easy to control communication methods

2nd NEGST workshop 28 Cost to establish a connection Most preliminary result Most preliminary result TCP DMZ, SoU DMZ and TCP relay TCP DMZ, SoU DMZ and TCP relay Same as round-trip time SoU + UDP hole punching SoU + UDP hole punching Negotiation, UDP hole punching and SoU are required Similar to 7 times of round-trip time For HPC, this is a little overhead TCP DMZ SoU DMZ TCP relay SoU + UDP hole punching 28.9 ms 28.5 ms 23.3 ms ms The shortest time to establish a connection

2nd NEGST workshop 29 Cost to establish a connection The shortest time to establish a connection RDUP+UDP hole punching requires 7 times transmissions on WAN: 1 time on DNS resolution 4 times on sharing of address information 1 time on UDP hole punching 1 time on SoU connection establishment Acceptable for HPC applications as a little overhead

2nd NEGST workshop 30 Design of management system Client nodes Server nodes Distributed “super-nodes” to manage the system Distributed “super-nodes” to manage the system Name space management based on DHT (Distributed Hash Table) Helps the negotiation among NATs for UDP hole punching Relays packet only when it is necessary

2nd NEGST workshop 31 Structure of Management System A server and many clients Many super-node and many common nodes

2nd NEGST workshop 32 System design overview our system Monitoring the overlapping of the names Holding TCP connections with all client nodes Providing direct communication for data through NATs DHT (Distributed Hash Table) is used for consistent and scalable management

2nd NEGST workshop 33 System design overview our system Name resolution from virtual name to real IP address Node pair rendezvous for NAT traversal Providing direct communication for data through NATs

2nd NEGST workshop 34 Latency 15ms 10ms11ms

2nd NEGST workshop 35 Cost to establish a connection Most preliminary result Most preliminary result TCP DMZ, SoU DMZ, TCP relay TCP DMZ, SoU DMZ, TCP relay Request and replay on TCP or SoU = round-trip time SoU + UDP hole punching SoU + UDP hole punching Negotiation, UDP hole punching and SoU’s establishment = round-trip time x 7 TCP DMZ SoU DMZ TCP relay SoU + UDP hole punching

2nd NEGST workshop 36 The Procedure of UDP hole punching × to NAT-2:2000 Information transfer through a server This method is available with “Cone NATs” Server to NAT-1:1000 to NAT-2 : 2000 Reachable to Node-B Automatically created Reachable using a mapping information

2nd NEGST workshop 37 Reliable communication on UDP/IP RI2N/UDP RI2N/UDP Developed by JST-CREST “Mega-Scale Computing” Project Basically designed for fault-tolerant communication on PC cluster with Ethernet Based on UDP/IP, but provides TCP-like streaming communication, retransmission and simple congestion control algorithm Porting to our communication layer for P2P computing ⇒ RUDP (Reliable UDP) library Porting to our communication layer for P2P computing ⇒ RUDP (Reliable UDP) library for selective acknowledgements to share the failure information All RI2N channels share only one UDP port