nTorrent: Peer-to-Peer File Sharing in Named Data Networking

Slides:



Advertisements
Similar presentations
BY PAYEL BANDYOPADYAY WHAT AM I GOING TO DEAL ABOUT? WHAT IS AN AD-HOC NETWORK? That doesn't depend on any infrastructure (eg. Access points, routers)
Advertisements

NDN in Local Area Networks Junxiao Shi The University of Arizona
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Author: Bram Cohen Presenter: Brian Liao.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Multi-Layer Switching Layers 1, 2, and 3. Cisco Hierarchical Model Access Layer –Workgroup –Access layer aggregation and L3/L4 services Distribution Layer.
Project in Computer Security Integrating TOR’s attacks into the I2P darknet Chen Avnery Amihay Vinter.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
A Scalable, Commodity Data Center Network Architecture.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Content Overlays (Nick Feamster) February 25, 2008.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
BitTorrent How it applies to networking. What is BitTorrent P2P file sharing protocol Allows users to distribute large amounts of data without placing.
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
LOCALITY-AWARENESS IN BITTORRENT-LIKE P2P APPLICATIONS R 黃琇琳 R 呂柏頡.
Martin-1 CSE 5810 CSE 5810 Individual Research Project: Integration of Named Data Networking for Improved Healthcare Data Handling Robert Martin Computer.
BitTorrent enabled Ad Hoc Group 1  Garvit Singh( )  Nitin Sharma( )  Aashna Goyal( )  Radhika Medury( )
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
Let’s ChronoSync: Decentralized Dataset State Synchronization in Named Data Networking Zhenkai Zhu Alexander Afanasyev (presenter) Tuesday, October 8,
LAN Switching and Wireless – Chapter 1 Vilina Hutter, Instructor
Othman Othman M.M., Koji Okamura Kyushu University 1.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
Serverless Network File Systems Overview by Joseph Thompson.
Multimedia & Mobile Communications Lab.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Fall, 2001CS 6401 Switching and Routing Outline Routing overview Store-and-Forward switches Virtual circuits vs. Datagram switching.
NDN-Android: NDN Networking Stack for Android Platform
The Story of ChronoShare, or How NDN Brought Distributed File Sharing Back Alex Afanasyev, Zhenkai Zhu, Yingdi Yu, Lijing Wang, Yukai Tu, Lixia Zhang.
Multi Node Label Routing – A layer 2.5 routing protocol
Dynamic Routing Protocols II OSPF
An example of peer-to-peer application
Introduction to BitTorrent
Notes Onur Ascigil, Vasilis Sourlas, Ioannis Psaras, and George Pavlou
NOX: Towards an Operating System for Networks
A Survey on Content-Oriented Networking for Efficient Content Delivery
CHAPTER 3 Architectures for Distributed Systems
Internet Networking recitation #12
Spyridon (Spyros) Mastorakis University of California, Los Angeles
EE 122: Peer-to-Peer (P2P) Networks
Dynamic Routing Protocols II OSPF
Fuzzy Interest Forwarding
Overlay Networking Overview.
Prof. Leonardo Mostarda University of Camerino
Review of Important Networking Concepts
CS 162: P2P Networks Computer Science Division
Small Is Not Always Beautiful
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
How Our Customers Communicate With Us
PEER-TO-PEER SYSTEMS.
EE 122: Lecture 22 (Overlay Networks)
Consistent Hashing and Distributed Hash Table
Review of Important Networking Concepts
Content Distribution Networks + P2P File Sharing
Multiprocessors and Multi-computers
Presentation transcript:

nTorrent: Peer-to-Peer File Sharing in Named Data Networking NDNcomm 2017 Macrh 23 – 24 Memphis Spyridon (Spyros) Mastorakis University of California, Los Angeles 11/8/2018 NDNcomm 2017

Data-Centricity & Peer-to-Peer File Sharing Data-centricity at different layers (application vs network) for peer-to-peer file sharing BitTorrent (BT): peer-to-peer file sharing application in TCP/IP Robust & efficient data distribution Data-centricity at the application layer Point-to-point TCP/IP packet delivery at transport & network layers No network-layer knowledge Named Data Networking: Data-centricity directly at network layer How easy/difficult to design an application with similar objective? Data-centric logic implemented at the TCP/IP application layer: peers do not care where they fetch data from + data integrity verification based on SHA1 hashes in the .torrent file No network-layer knowledge (routing policies, distance to each peer, peer IP address) Goal: study the impact of implementing the data-centric logic at different layers of the network architecture Issues that TCP-IP based BitTorrent faces because of being an application layer overlay Similarities/Differences between BitTorrent and the model of NDN Eventually, we present the nTorrent design, a proof-of-concept NDN application to provide BitTorrent-like functions natively in NDN in a simpler way than the TCP-IP based implementation. 11/8/2018 NDNcomm 2017

TCP/IP Hurdles to BitTorrent Tracker or DHT node The ultimate goal of BT peers is to download a torrent. Given this goal, they: Peer Discovery: The underlying TCP/IP forces BT to specific an IP address to fetch data from: peers have to discover others (their IP address): a) through a tracker, b) through a DHT, c) once they have joined a swarm, they can use some optimizations to reduce dependency on tracker or DHT, e.g., Peer Discovery Protocol (PEX) Peer Selection: Once you discover some peers, how do you select the best ones to download data from? A number of BT implementations use download bandwidth as the metric (unaware of peer location) to decide by performing application layer measurements Rarest Piece Prioritization: Since TCP/IP does not support data retention, peers have to download pieces in a way to benefit data replication for the swarm; they prioritize the replication of rare pieces, so that they can be downloaded in parallel from multiple peers and do not become unavailable. Piece Integrity Verification: The TCP/IP network layer does not verify the integrity of individual packets, forcing BitTorrent to verify data integrity per piece at the application layer. If one packet in a piece is missing or fails the integrity check, the entire piece cannot be verified. Data Sharing: No data retention by network, data sharing enforced at the application layer by explicitly managing (choking and unchoking) individual connections. Traffic Localization: Throughout the process of data fetching and sharing, peers aim to talk to nearby peers to minimize download time, while Internet Service Providers (ISPs) aim to minimize the volume of generated inter-AS traffic. BitTorrent has no knowledge of the underlying connectivity, therefore, it can generate massive amounts of long distance and inter-AS traffic, increasing download times, network resource consumption and the costs of ISPs. Ways to deal with that: 1) external knowledge of network topology by peers or tracker 2) Path monitoring and latency measurements by peers 3) Leverage DNS service discovery to find peers within the same local network 4) ISPs deploy “local” trackers to return “local” peers All these approaches introduce components external to the protocol itself plus the last one requires modification of DNS configuration Torrent File Torrent File This guy is not uploading enough. Have to “choke” him Let’s share the piece now! Download first from whoever has the rarest piece! I want to download the torrent. Anybody else around???? Which peer to fetch data from? Who is the closest one? Are there any peers in my network? Have to try them all! Got a piece. Have to verify it.. 11/8/2018 NDNcomm 2017

Common Design Elements Between BT and NDN Say application names Naming Data: application names in NDN are used directly by network BitTorrent: the application names stays at the application layer Data centric security: NDN uses signature per data packet and can use full names to optimize data integrity check to be performed by the network itself with minimal forwarder processing overhead Efficient data retrieval: Through the stateful forwarding plane and the strategy module: 1) Prioritization of local data copies, 2) Best location that has the data in terms of data plane performance, 3) Parallel fetching and Multi-path forwarding, 4) Native data multicast and in-network caching 11/8/2018 NDNcomm 2017

nTorrent Design Goal: Securely retrieve a torrent. It may consist of: one or more files each file of a number of data packets 3 main design abstractions: 1) Torrent file, 2) File Manifest, 3) Packet in a file Torrent File contains the full names of file manifests File Manifest: catalog of full packet names in a file Through website, via email, via friend.. Torrent File contains the full names of file manifests File Manifest: catalog of full packet names in a file Full Packet Names: Integrity guaranteed by network 11/8/2018 NDNcomm 2017 5

Hierarchical Namespace 11/8/2018 NDNcomm 2017

Utilizing In-Network Caching How to fetch data? Peer 2 Sequentially? Random Fashion? Fetch packet 2 of file 1! Fetch packet 0 of file 0! Data for packet 10 of file 5! Data for packet 0 of file 0 Peer 1 NFD NFD NFD We do not do rarest piece first: 1) we do not know 2) does not maximize cache usage Fetch packet 10 of file 5! Fetch packet 0 of file 0! Fetch data from cache for simultaneous downloads! Unlikely to fetch data from cache! 11/8/2018 NDNcomm 2017

Routing Scalability Granularity of prefix to announce: a) torrent prefix b) file prefix c) data packet prefix Trade-off: Announcement granularity vs FIB size vs Forwarding plane accuracy 2 major decisions involved Replace routing announcement with Routing Scalability, talk about #1 and the trade-off, then about #2 and the trade-off More coarse grain announcements, smaller FIBs (better routing scalability), Interests may reach locations that do not have the data, more time to find and fetch data Announcing prefixes without having downloaded all their packets, enable more parallel fetching by others, Interests may reach locations that do not have the data, more time to find and fetch data 1) this decision involves a trade-off between the accuracy of the routing and forwarding plane and the number of announced prefixes; coarse-grained announcements reduce the size of FIBs but, depending on when the announcements are made (as explained below), they might result in extended path exploration to find the data or reduced amounts of time that a peer uploads its data. 2) Since a peer can announce a prefix without having all its data (e.g., the prefix of a file in the torrent, without having all the packets in the file), this decision involves a trade-off among the required amount of path exploration to find the data, the amount of time that a peer uploads its data and the peer agility in the sense of enabling peers to download data fast from multiple sources. 11/8/2018 NDNcomm 2017

Routing Scalability (cont’d) When to do the announcement: a) when a peer starts downloading data of announced prefix b) when a peer downloads all the data of announced prefix c) when a peer downloads some data of announced prefix Trade-off: Announcement timing vs Peer agility vs Forwarding plane accuracy Announcing prefixes without having downloaded all their packets, enable more parallel fetching by others, Interests may reach locations that do not have the data, more time to find and fetch data 11/8/2018 NDNcomm 2017

nTorrent Implementation Implementation (almost ready to use, have been tested and debugged on the NDN testbed): https://github.com/spirosmastorakis/nTorrent Documentation to come soon Implementation to be ported to ndnSIM soon 11/8/2018 NDNcomm 2017

Peer-to-Peer File Sharing in NDN Terms Peer acts as producer and consumer at the same time Peer does not have to explicitly discover others No need for a tracker Elimination of redundant fetching, reduction of network load and retrieval time Peer never receives bogus data 1) a peer in NDN acts as a consumer and a producer at the same time; as a consumer, it downloads data from others, and as a producer, it uploads data to others, which requires the peer to announce the name prefixes of the data (i.e., the peer is willing to upload) to the routing system 2) Peer will express a request for data and the forwarding plane will bring this data back 3) Traffic localization and parallel downloading are done by the forwarding plane 4) NDN’s native support for multicast data delivery and in-network caching 5) Data integrity verification by forwarders because of full names 11/8/2018 NDNcomm 2017