27
15.01.2018 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Faculty of Sciences Department of Computer Science 1 Scalable overlay networks Scalable overlay Networks Dr. Samu Varjonen 15.01.2018

Scalable overlay Networks

  • Upload
    others

  • View
    6

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

1Scalableoverlay networks

Scalable overlay Networks

Dr. Samu Varjonen15.01.2018

Page 2: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

2Scalableoverlay networks

Contents

● Course overview

● Lectures

● Assignments/Exercises

Page 3: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

3Scalableoverlay networks

Course Overview

● Overlay networks and peer-to-peer technologies have become key components for building large scale distributed systems.

● This course will introduce overlay networks and peer-to-peer systems, discuss their general properties, and applications. The course will cover the following topics:

– Currently deployed peer-to-peer systems and how they work

– Distributed Hash Tables as a base for structured peer-to-peer systems

– Peer-to-peer storage systems

– Performance issues, legal aspects, and privacy issues

– Overlay content distribution algorithms

Page 4: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

4Scalableoverlay networks

General Info

● Advanced course, 5 credits

● Requirements: basics of networking

● Assignments/exercises done as individual work.

Page 5: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

5Scalableoverlay networks

Lectures

● Lectures

● Monday 12:15-14:00 in C122 15.1.-26.2.

● Thursday 12:15-14:00 in DK117 18.1-1.3.(The last one if needed)

● Assignments/exercises

– 16.01.-27.02.18 tu 12.15-14.00 Exactum, C323 ● Course based on book

– S. Tarkoma. Overlay Networks: Toward Information Networking. 260 pages. CRC Press / Auerbach, February 2010.

Page 6: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

6Scalableoverlay networks

The course book

Some of the newer material discussed on thecourse are not in the book but I will provide links to papers discussing the topics.

Page 7: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

7Scalableoverlay networks

Exam material: additional articles

● Article: G. DeCandia et al. Dynamo: Amazon’s Highly Available Key-value Store. SOSP 2007.

● Article: Theory and Practice of Bloom Filters for Distributed Systems. IEEE Surveys and Tutorials. 2012.

● Slideset: Modeling and Analysis of Anonymous-Communication Systems. J. Feigenbaum. Presentation at WITS 2008. General idea of MIX and Onion Routing are part of the exam material.

● Article: R. Cohen et al. Resilience of the Internet to Random Breakdowns. Phys. Rev. Lett. 85, 4626–4628 (2000). Background info and derivation of the resiliency formula (power law lectures). Additional details not part of exam material.

● Article: D.  Kreutz, F. M. V. Ramos, P. Verissimo, C. E. Rothenberg, S. Azodolmolky, S. Uhlig. Software-defined Networking: A Comprehensive Survey. Sections I,II, V and VI are part of the exam material. Proceedings of the IEEE, Vol. 103, Issue 1, Jan. 2015.

Page 8: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

8Scalableoverlay networks

Lectures● MO 15.01. C122 Introduction. Exercises. Motivation.

● TH 18.01. DK117 Unstructured networks I

● MO 22.01. C122 Unstructured networks II

● TH 25.01. DK117 Bittorrent and evaluation

● MO 29.01. C122 Privacy (Freenet etc.) and intro to power-law networks.

● TH 01.02. DK117 Consistent hashing. Distributed Hash Tables (DHTs)

● MO 05.02. C122 DHTs continued

● TH 08.02. DK117 Power-law networks

● MO 12.02. C122 Power-law networks and applications.

● TH 15.02. DK117 Applications I

● MO 19.02. C122 Applications I

● TH 22.02. DK117 Advanced topics

● MO 26.02. C122 Conclusions and summary

● TH 01.03. DK117 Reserved

Page 9: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

9Scalableoverlay networks

Grading

● Course grading will be based on the final exam and the assignments/exercises. 

● Course exam 7.3.2018 16:00 B123

● Separate exam on 25.4.2018 16:00 in B123

● You can use the exercise score with the first separate exam

Page 10: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

10Scalableoverlay networks

Assignments/Exercises

● Assignments are optional and will grant you extra points towards the exam.

● Assignments are marked and presented in the answers sessions every two weeks.

● You have to attend the session to get the points.

● Max exam points 18, max bonus points 4

● Tuesdays 12:15-14:00 C323 last session 27.2.

● 23.1. Reception on questions I

● 30.1. Answers due to questions I

● 6.2. Reception on questions I

● 13.2. Answers due questions II

● 20.2. Reception questions II

● 27.2. Answers due to questions II

Page 11: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

11Scalableoverlay networks

Main theme Prerequisites Approaches learning goals Meets learning goals Deepens learning goals

Overlay and peer-to-peer networks: definitions and systems

Basics of data communications and distributed systems (Introduction to Data Communications, Distributed Systems)

Knowledge of how to define the concepts of overlay and peer-to-peer networks, and state their central features

Ability to describe at least one system in detail

Ability of being able to compare different overlay and p2p networks in a qualitative manner

Ability to assess the suitability of different systems to different use cases

Ability to give one’s own definition of the central concepts and discuss the key design and deployment issues

Distributed hash tables

Basics of data communications and distributed systems (Introduction to Data Communications, Distributed Systems)Big-O-notation and basics of algorithmic complexity

Knowledge of the concepts of structured and unstructured networks and the ability to classify solutions into these two categoriesKnowledge of the basics of distributed hash tablesAbility to describe at least one distributed hash table algorithm in detail

Ability of being able to compare different distributed hash table algorithmsAbility of designing distributed hash table-based applicationsKnowledge of key performance issues of distributed hash table systems and the ability to analyze these systems

The knowledge of choosing a suitable distributed hash table design for a problemFamiliarity with the state of the art

Reliability and performance modelling

Basics of probability theoryBasics of reliability in distributed systems

Ability to model and assess the reliability of overlay and peer-to-peer networks by using probability theoryKnowledge of the most important factors pertaining to reliability

Ability of analytically analyzing the reliability and performance of overlay and peer-to-peer networksUnderstanding of the design issues that are pertinent for reliable systems

Familiarity with the state of the art

Content distribution Introduction to Data Communications

Knowledge of the basic content distribution solutionsAbility to describe at least one overlay and p2p network based content distribution solution

Knowledge of different content distribution systes and the ability to compare them in detailKnowledge of several content distribution techniques

Familiarity with the state of the art

Security Basics of computer security Knowledge of the basic security issues with overlay and p2p networksKnowledge of the sybil attack concept

Ability to discuss how security problems and limitations can be solvedKnowledge of how to prevent sybil attacks

Knowledge of how to prevent sybil attacksFamiliarity with the state of the art

Page 12: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

12Scalableoverlay networks

Contact information

● Lecturer PhD Samu Varjonen (@cs.helsinki.fi)

● Assignments: Juhani Toivonen (@cs.helsinki.fi)

● Course homepage can be found: https://courses.helsinki.fi/fi/csm13104/

Page 13: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

13Scalableoverlay networks

Introductionand unstructured networks

Page 14: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

14Scalableoverlay networks

Introductionand unstructured networks

● Overlay networks and intro to networking

● Unstructured networks

Page 15: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

15Scalableoverlay networks

Overlay networks

● An overlay network is a network that is built on top of an existing network.

● The overlay therefore relies on the so called underlay network for basic networking functions, namely routing and forwarding.

● Today, most overlay networks are built in the application layer on top of the TCP/IP networking suite.

Page 16: Scalable overlay Networks

Internet (TCP/IP)Internet (TCP/IP)

ClusterCluster Wide-area (unstructured)Wide-area (unstructured)

SearchSearch StorageStorage RendezvousRendezvousSearchSearch StorageStorage RendezvousRendezvous

Wide-area (structured)Wide-area (structured)

SearchSearch StorageStorage RendezvousRendezvous

DHT

Examples:Lookup: Chord, CAN, Kademlia

Storage: PASTRendezvous: Scribe (for

multicast), i3

Good for name/value data, note flat address space, one node is responsible, churn is a concern

Good for name/value data, note flat address space, one node is responsible, churn is a concern

Limited flooding / depth first / Bloom

filters

Examples: Gnutella and

Freenet

Tracker

Example: BitTorrent

Good for arbitrary data and search functions, can aggregate routing info, structure improves

scalability

Good for arbitrary data and search functions, can aggregate routing info, structure improves

scalability

Consistent hash (O(1) DHT)

Selective flooding

Replication, Gossip, etc.

Examples: Dynamo, Cassandra

Consistent hashing alleviates network problems and eventual consistency can be achieved

through replication and synchronization

Consistent hashing alleviates network problems and eventual consistency can be achieved

through replication and synchronization

Page 17: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

17Scalableoverlay networks

Overlay networks

● Overlay technologies can be used to overcome some of the limitations of the underlay, and at the same time offering new routing and forwarding features without changing the routers.

● The nodes in an overlay network are connected via logical links that can span many physical links. A link between two overlay nodes may take several hops in the underlying network.

Page 18: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

18Scalableoverlay networks

Requirements for overlay networks

1) Support the execution of one or more distributed applications by providing infrastructure for them.

2) Participate and support high-level routing and forwarding tasks. The overlay is expected to provide data forwarding capabilities that are different from those that are part of the basic Internet.

3) Deployed across the Internet in such a way that third parties can participate in the organization and operation of the overlay network.

Page 19: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

19Scalableoverlay networks

Protocol stack

● Layers are part of a network architecture

– Provide services for layers above

– Hiding the complexity of the current layer● Multiple layers are needed in order to reduce

complexity

– Separation of network functions

– Distribution of complexity

– OSI, TCP/IP● Protocols are building blocks of a network design

– Can exist independently of layering

Page 20: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

20Scalableoverlay networks

Background

● What is network architecture?

● Layered architecture

● Network structure

● Network evolution

● Motivation for overlay networks

Page 21: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

21Scalableoverlay networks

Network architecture

● A set of principles and basic mechanisms that

● guide network engineering

– Physical links

– Communication protocols● Format of messages● The way in messages are exchanged● Elements of the protocol stack● Where is the state?

Page 22: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

22Scalableoverlay networks

Naming, addressing, and routing

NamingHow to identify and name a node? Even if its address changes.

AddressingWhere is the node located?

RoutingHow to route information to the node’s address?

unicast: to a specific nodebroadcast: to all nodesmulticast: to a subset of nodesanycast: to any one in some subset (IPv6)

Page 23: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

23Scalableoverlay networks

Underlying network (link layer, physical layer)

Underlying network (link layer, physical layer)

TCP/IP network stack

Networking layer (IP)

Networking layer (IP)

Transport layer (TCP / UDP)

Transport layer (TCP / UDP)

Application layer (FTP, SMTP, etc.)Application layer (FTP, SMTP, etc.)

Page 24: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

24Scalableoverlay networks

The hourglassDiverse applications

Divergence

Transport layer (TCP/IP)

Convergence

Diverse physical layers

Page 25: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

25Scalableoverlay networks

Structure of the Internet

● End-to-End Principle: application logic and state at the edge, core network is simple

● Network maintains routing tables and forwards packets based on IP prefixes

● Various protocols for intra-domain routing (OSPF, ...)

● Hierarchical structure: Autonomous Systems with tiers and peering links, economics of inter-domain routing

● Border Gateway Protocol (BGP) for routing between domains

● New requirements for IP and network: mobility, multihoming, security, multipath operation, ...

Page 26: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

26Scalableoverlay networks

Internet evolution

● IPv6

● Caching

● CDNs

● Overlays

● Cloud computing and datacenter networking

● Software-defined Networking (SDN)

– SDN allows to introduce new concepts in the network

– Push down overlay technology into the network layer● 5G Radio and Core Network

Page 27: Scalable overlay Networks

15.01.2018

HELSINGIN YLIOPISTOHELSINGFORS UNIVERSITETUNIVERSITY OF HELSINKI

Faculty of SciencesDepartment of Computer Science

27Scalableoverlay networks

Questions

● Q: Where is the routing state in overlay networks?

● A: Must be at the edge of the network. Easy to bootstrap, because network is not modified.

● Q: What is the benefit of this from the network point of view?

● A: Can overcome limitations of the current network and introduce new services.

● Q: What is limitation from the network point of view?

● A: Must take network structure into account (economics). Traversal solutions can be complex.