P2P Networks and Software-Defined Networking

Similar documents
The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

Peer-to-Peer Networks. Chapter 2: Initial (real world) systems Thorsten Strufe

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

Software-Defined Networking for the Data Center. Dr. Peer Hasselmeyer NEC Laboratories Europe

Software Defined Networking What is it, how does it work, and what is it good for?

The Internet: A Remarkable Story. Inside the Net: A Different Story. Networks are Hard to Manage. Software Defined Networking Concepts

How To Understand The Power Of The Internet

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

P2P: centralized directory (Napster s Approach)

N6Lookup( title ) Client

Project 4: SDNs Due: 11:59 PM, Dec 11, 2014

Objectives. Router as a Computer. Router components and their functions. Router components and their functions

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

Using IPM to Measure Network Performance

software networking Jithesh TJ, Santhosh Karipur QuEST Global

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

DDoS Vulnerability Analysis of Bittorrent Protocol

Software Defined Networks

SDN 交 換 機 核 心 技 術 - 流 量 分 類 以 及 應 用 辨 識 技 術. 黃 能 富 教 授 國 立 清 華 大 學 特 聘 教 授, 資 工 系 教 授 nfhuang@cs.nthu.edu.tw

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

Network layer: Overview. Network layer functions IP Routing and forwarding

COMPSCI 314: SDN: Software Defined Networking

Lab 2. CS-335a. Fall 2012 Computer Science Department. Manolis Surligas

SDN AND SECURITY: Why Take Over the Hosts When You Can Take Over the Network

The Challenges of Stopping Illegal Peer-to-Peer File Sharing

Peer-to-peer filetransfer protocols and IPv6. János Mohácsi NIIF/HUNGARNET TF-NGN meeting, 1/Oct/2004

An Introduction to Peer-to-Peer Networks

Mobility (and philosophical questions about names and identity) David Andersen CMU CS The problem

Software Defined Networking What is it, how does it work, and what is it good for?

Introduction to Computer Networks

Understanding OpenFlow

Cisco Networking Academy CCNP Multilayer Switching

Introduction to Software Defined Networking. Xenofontas Dimitropoulos 21/5/2015

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

Final for ECE374 05/06/13 Solution!!

Securing Local Area Network with OpenFlow

The BitTorrent Protocol

CNT5106C Project Description

CSCI-1680 CDN & P2P Chen Avin

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

ICP. Cache Hierarchies. Squid. Squid Cache ICP Use. Squid. Squid

CS 557- Project 1 A P2P File Sharing Network

The State of OpenFlow: Advice for Those Considering SDN. Steve Wallace Executive Director, InCNTRE SDN Lab Indiana University

Software Defined Network (SDN)

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

CS 5480/6480: Computer Networks Spring 2012 Homework 4 Solutions Due by 1:25 PM on April 11 th 2012

OpenFlow and Onix. OpenFlow: Enabling Innovation in Campus Networks. The Problem. We also want. How to run experiments in campus networks?

OpenFlow and Software Defined Networking presented by Greg Ferro. OpenFlow Functions and Flow Tables

Communications Software. CSE 123b. CSE 123b. Spring Lecture 13: Load Balancing/Content Distribution. Networks (plus some other applications)

CS 5480/6480: Computer Networks Spring 2012 Homework 3 Due by 1:25 PM MT, Monday March 5 th 2012

Configuring a Gateway of Last Resort Using IP Commands

MikroTik Invisible Tools. By : Haydar Fadel 2014

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

Internet Protocols Fall Lectures 7-8 Andreas Terzis

CS101 Lecture 19: Internetworking. What You ll Learn Today

- Multiprotocol Label Switching -

Objectives of Lecture. Network Architecture. Protocols. Contents

IMPLEMENTATION AND EVALUATION OF THE MOBILITYFIRST PROTOCOL STACK ON SOFTWARE-DEFINED NETWORK PLATFORMS

Software Defined Networking

Software Defined Networking

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

An Overview of OpenFlow

8. 網路流量管理 Network Traffic Management

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

CS335 Sample Questions for Exam #2

Ethernet. Ethernet. Network Devices

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

TEIN2 Measurement and Monitoring Workshop.

Peer-to-Peer Networks 02: Napster & Gnutella. Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg

Instructor Notes for Lab 3

Towards Software Defined Cellular Networks

Three short case studies

Interconnecting Cisco Network Devices 1 Course, Class Outline

Introducing Basic MPLS Concepts

Protocols. Packets. What's in an IP packet

Cisco Configuring Commonly Used IP ACLs

OpenFlow: Enabling Innovation in Campus Networks

Tutorial: OpenFlow in GENI

Internet Protocol: IP packet headers. vendredi 18 octobre 13

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

From Active & Programmable Networks to.. OpenFlow & Software Defined Networks. Prof. C. Tschudin, M. Sifalakis, T. Meyer, M. Monti, S.

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Computer Networks - CS132/EECS148 - Spring

PEER TO PEER FILE SHARING USING NETWORK CODING

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

TCP/IP Security Problems. History that still teaches

Software Defined Networking (SDN) OpenFlow and OpenStack. Vivek Dasgupta Principal Software Maintenance Engineer Red Hat

Advanced Networking Routing: RIP, OSPF, Hierarchical routing, BGP

LTE - Can SDN paradigm be applied?

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

BEHAVIORAL SECURITY THREAT DETECTION STRATEGIES FOR DATA CENTER SWITCHES AND ROUTERS

OpenFlow - the key standard of Software-Defined Networks. Dmitry Orekhov, Epam Systems

CS244 Lecture 5 Architecture and Principles

BROADCOM SDN SOLUTIONS OF-DPA (OPENFLOW DATA PLANE ABSTRACTION) SOFTWARE

WAN Topologies MPLS. 2006, Cisco Systems, Inc. All rights reserved. Presentation_ID.scr Cisco Systems, Inc. All rights reserved.

CCT vs. CCENT Skill Set Comparison

Transcription:

P2P Networks and Software-Defined Networking CS640, 2015-04-21 Announcements Assignment #4 due tonight at 11pm Outline Peer to peer Networks Limitations of traditional networks Software defined networking OpenFlow Content Distribution Networks Who uses CDNs? Netflix Login page & movie selection pages come from a VM in EC2 easter egg! bottom of Netflix page contains an ID for the VM in EC2 that provided page Movie is delivered from CDN nodes Pinterest study this in assignment #4 Peer to Peer Networks Problem with CDNs: someone must build the infrastructure and others must pay to use it What if hosts wanting content could also serve content? Peer to peer initially became well known for its role in illegal music sharing e.g., Napster and KaZaA Other peer to peer services tried to encourage legitimate file sharing e.g., Gnutella and BitTorrent Obviously, there is still illegal file sharing **How do we locate content? Flood a query Gnutella Lookup in a central directory BitTorrent uses a.torrent file with information about a tracker that knows all peers who are requesting or providing the file **How do we deliver content? From a single peer Gnutella From multiple peers BitTorrent Simple peer to peer network construction and data retrieval Gnutella Peer join Connect to a peer it knows That peer shares the IP address of its neighbors New peer connects to those neighbors Locate content Send query (with name of file, query ID, and TTL) to neighbor peers 1

Neighbor stores query ID, decrements TTL, and floods query to its neighbors If peer sees a query with the same ID, drop it to avoid forwarding loops If peer has the content, send reply back to the neighbor that forwarded the query Other peers lookup query ID in reply to know where to send the reply Connect directly to peer with the content Getting data from multiple peers BitTorrent Chunking Important for large files Divide file into many chunks Replicate chunks on different peers Peers exchange chunks with each other Peer is both uploading and downloading chunks If a peer is uploading at a slower rate, it is also forced to download at a slower rate provides some fairness Peer request chunks from other peers in a random order Peer can (hopefully) assemble the entire file Tracker Infrastructure node that keeps track of peers uploading/downloading parts of a file Swarm set of active peers for a given piece of content Peers register with tracker (determined by torrent file) when they want to up/download Tracker provides a random set of peers to contact to attempt to get chunks Can request more peers from tracker if no provided peers have the chunks you need Limitations of Traditional Networks What are the two planes that exist within a switch (or router)? Data plane forwards packets based on routing table Control plane establishes routing table using routing algorithms Routing tables are established using distributed algorithms Decisions are based on local view DV and BGP decisions depend on decisions of neighbors Different nodes may have a different view due to updates that have not yet propagated Decisions may not be optimal e.g., BGP finds a path; may not be an optimal path Debugging is difficult 2

Network wide policy is implemented using distributed configs Config files for each switch/router in vendor specific config language (e.g., Cisco IOS) Configs define: routing algorithms to use, link weights, access control lists (ACLs), etc. Need to re write configs when you change vendors Configs can easily become inconsistent with each other, and with an operator s goals Policies are largely defined over subnets Layer 3 routing table has entries for individual subnets Layer 2 MAC table has entries for individual hosts Cannot easily customize routing policies for different apps e.g., video streaming needs low jitter path, SSH needs low latency path, and file transfer needs high throughput path Software stack on switches are closed Vendors write the software; we are limited to using the capabilities exposed by the switch Takes a long time for vendors to adopt and implement new protocols and features Summary of problems Distributed routing decisions > difficult to debug; maybe suboptimal decisions Distributed policy > prone to human errors Policies defined over subnets > cannot customize forwarding per application Closed software stack > limited operator flexibility Software Defined Networking (SDN) Remove control plane from switches and run centralized controller Data plane operates as before, but controller populates routing tables on switches Controller interacts with switches using a standardized vendor independent API Network operators write custom control applications that run atop the controller and implement the desired forwarding policies i.e., determine which forwarding entries to install in each switch Pictorial view of traditional network versus SDN Benefits Forwarding decisions are centralized Less prone to error; easier to debug in theory, at least Decisions can be optimized controller has network wide view Forwarding decisions are flexible Can implement fine grained policies for individual applications Not restricted to specific protocols/features implemented by vendors 3

OpenFlow Prevailing SDN standard Traditional switch vs. OpenFlow switch Traditional switch OpenFlow switch Traditional route table vs. Flow Table Traditional route table Subnet Mask Gateway Interface Only match on IP address in L3 router or MAC address in L2 switch Only action is forward out interface (and drop if we have ACLs) Entries are added/removed by the control plane based on routing algorithms Flow table MAC MAC Ether Type IP IP Proto Port Port Actions Match on any fields in link, network, and transport layer headers Originally matched on 10 different fields; now match on any bytes in the headers Also match based on physical switch port on which packet arrived Actions Forward to port(s) Drop Send to controller Re write header field(s) Entry in the flow table is called a rule Entries are added/removed by the controller Rules can have timeouts Soft switch removes rule if no packet matches the rule for some period of time Hard switch removes rule after some time has passed since rule was added Rules can have priorities Switch also maintains statistics (packet and byte counters) for each rule 4

Example flow table entries 5