Online Social Networks and Network Layers Lecture for the Project Group A Distributed Framework for Social Networks UPB SS2011 PG-Framework Lecture-01 Online-Social-Networks-Network-Layer.ppt Dr.-Ing. Kalman Graffi Email: graffi@mail.upb.de Fachgruppe Theorie verteilter Systeme Fakultät für Elektrotechnik, Informatik und Mathematik Universität Paderborn Fürstenallee 11, D-33102 Paderborn, Deutschland Tel.+49 5251 606730, Fax. +49 5251 606697 http://www.cs.uni-paderborn.de/fachgebiete/fg-ti.html This slide set is based on the lecture "Communication Networks 2" of Prof. Dr.-Ing. Ralf Steinmetz at TU Darmstadt
Organizational Information Homepage: http://www.cs.uni-paderborn.de/fachgebiete/fg-ti/lehre0/ss2011/pgframework.html Google Calendar Link Template for Seminar paper and presentation next dates Soon: www.p2pframework.com Mailinglist: pg-framework [at] lists.uni-paderborn.de Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 2
Some relevant Books Monitoring and Management of Peer-to-Peer Systems Kalman Graffi http://tuprints.ulb.tudarmstadt.de/2248/ Handbook of P2P Networking Xuemen Shen, Heather Yu, John Buford, Mursalin Akon Peer-to-Peer Systems and Applications Ralf Steinmetz, Klaus Wehrle (Editors) www.springerlink.com /content/g6h805426g7t H( m y data ) = 3107? 709 611 1008 2207 12.5.7.31 berkeley.edu planet-lab.org peer-to-peer.info 61.51.166.150 95.7.6.10 86.8.10.18 1622 3485 2011 2906 7.31.10.25 Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 3
Overview 1 Online Social Networks 2 Communications - Objectives 2.1 Computer Network / Communication Network 2.2 Distributed System 3 Overall Network Structure 3.1 Networking Basics 3.2 Reference Model for Open Systems Interconnection 3.3 ISO-OSI Layers: Functions 4 Layer Concept 4.1 Protocol: Communication between same Layers 4.2 Service: Communication between adjacent Layers 5 Other Reference Models and Comparison 5.1 TCP/IP Reference Model: Internet Architecture 5.2 Comparing the Reference Models: 5-Layer Model Used Herein 6 Overlay Networks Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 4
Current Trends in the Internet: Web 2.0 Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 5
Current Trends in the Internet Online Social Networks Popular all over the world Top ranked besides Search engines Media streaming Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 6
1 Online Social Networks What are Online Social Networks technically? Web-based applications (StudiVZ, Facebook, MySpace, Xing) Provide different services for community members Personal information and photos Events Games Plugin architecture Friends Social interaction Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 7
Goals and Motivations Users want System providers want Storing and searching for content Profiles, friend lists, Pictures, shared Wall editing, User to user interaction Chatting, VoIP, Games Security Access control on their data Secure, confidential communication High profit Many users Personalized advertisements Low operational costs For servers, electricity, cooling For personnel, legal issues Controlled Quality of Service To attract and keep users Providing reliable, high quality services Fun! Money! Can the requirements be implemented in one solution? Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 8
Usage of Web 2.0 in Germany Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 9
Ratio of Users in Germany Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 10
Publicity of Social Networks Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 11
Facebook Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 12
StudiVZ Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 13
Research Gate Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 14
Bildung im Dialog - OWL Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 15
At least weekly usage Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 16
Most used Online Social Networks in Germany Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 17
Most used Online Social Networks in the World Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 18
Number of Memberships Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 19
Usage Frequency Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 20
Mobile Internet Usage Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 21
General Trend: Online Social Networks Social networks are normal in private and business world Daily usage by large part of the society Various types of communities Allows new communication patterns Increased relevance in mobile Internet Community is created through interactions of users Revolution in business communication / e-learning / dating? Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 22
2 Communications - Objectives Shared usage of resources resources are programs data devices Allows for/to enhance reliability load balancing cost reduction e.g. shared usage of a data server (a.o. with X-terminal) easier extensibility High-performance communication media person to person (e.g. E-mail, interactively) person to machine (e.g. data bases, WWW, video server) machine to machine (e.g. often Peer-to-Peer) Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 23
2.1 Computer Network / Communication Network Computer Network several autonomous computers/end-systems interconnected with the aim to exchange information here "connected" means: data can be exchanged but, no distribution transparency Typical approach to implement online social networks Main server operated by provider Hosting all information Contacted by user clients to modify / submit their information Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 24
2.2 Distributed System Examples operating systems database systems middleware Distributed system is based on several independent CPUs/systems objective: among others: optimized load distribution operating system usually allocates physical units user perspective: centralized knowledge (i.e. for example no explicit "login") the existence of single objects/units/systems is not visible distribution transparency Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 25
3 Overall Network Structure Basics Reference Model for Open Systems Interconnection ISO-OSI Layers: Functions Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 26
Networking Protocol Map (Source www.javvin.com) Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 27
3.1 Networking Basics Problem: engineering communication means multitude of partially very complex tasks interaction of differing systems and components Simplification: to introduce abstraction levels of varying functionalities general module, preferable: layer, level Example biologists with translator and e.g. secured encrypted FAX-office Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 28
3.2 Reference Model for Open Systems Interconnection ISO OSI (Open Systems Interconnection) Reference Model model for layered communication systems defines fundamental concepts and terminology defines 7 layers and their functionalities 7 6 5 4 3 2 1 Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 29
OSI Architecture Actual data flow between two systems: Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 30
OSI Architecture Real data flow with intermediate systems: Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 31
3.3 ISO-OSI Layers: Functions Layer 1 Physical 2 Data Link sending bit 1 is also received as bit 1 (and not as bit 0): mechanics: connector type, cable/medium,.. electronics: voltage, bit length,.. procedural: unidirectional or simultaneously bidirectional initiating and terminating connections reliable data transfer between adjacent stations with frames introducing data frames and acknowledgement frames error recognition and correction within the frame: manipulation, loss, duplication fast sender, slow receiver: flow control distribution network requires access control: Medium Access Control (MAC) Function Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 32
Functions of Layers in Communications Layer 3 Network connection (as relationship between entities) end system to end system (subnets) with packets routing, i. e. among others fixed, defined during connect, dynamic congestion control (too many packets on one path) quality of service dependent varying subnets, Internetworking, i. e. among others addressing, packet size comment: at broadcast networks: routing often simplified or non-existent, i. e. this layer does often not exist here example: IP Function Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 33
Functions of Layers in Communications Layer 4 Transport connection (as relationship between entities) From source (application/process) to destination (application/process) optimize required quality of service and costs 1 L4 connection corresponds to 1 L3 connection increase throughput: 1 L4 connection uses several L3 connections (splitting) minimize costs: several L4 connections multiplexed onto 1 L3 connection process addressing, connection management fast sender, slow receiver: flow control Function Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 34
Functions of Layers in Communications Layer 5 Session 6 Presentation 7 Application support a session over a longer period synchronization (during interrupted connection) token management (coordinate the simultaneous processing of different applications) data presentation independent from the end system negotiating the data structure, conversion into a global data structure examples: data types: date, integer, currency, ASCII, Unicode, application related services examples: electronic mail, directory service file transfer, WWW, P2P, Function Comment: layer does not necessarily correspond to the process of the implemented unit otherwise loss of efficiency Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 35
4 Layer Concept N-Layer abstraction level with defined tasks N-Entity active elements within a layer process or intelligent I/O module peer entities: corresponding entities on different systems N-Service Access Point, N-SAP service identification N-Protocol: a multiple of rules for transferring data between N-entities Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 36
4.1 Protocol: Communication between same Layers Protocol rules for syntax (format) and semantics (contents) of the data transfer (frames, packet, message) occurring between the respective, active peer entities analogy: programming, protocol corresponds to realization of the data type (procedures, etc.) the "interior" of the object Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 37
4.2 Service: Communication between adjacent Layers Service multiple of primitives/operations/functions which one layer offers to the upper next layer characterized by the "interface" does not reveal anything about the implementation analogy: programming, service corresponds to abstract data type object Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 38
Service Provider and Service User Service Provider Service User Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 39
Nested Protocol Data Units (PDUs) Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 40
Nested Protocol Data Units (PDUs) Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 41
5 Other Reference Models and Comparison OSI (Open Systems Interconnection) Reference Model 7 6 5 4 3 2 1 Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer TCP/IP Reference Model Internet Architecture ISO-OSI presentation, session and application layer merged ISO-OSI data link layer and physical layer merged to form Network Interface Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 42
5.1 TCP/IP Reference Model: Internet Architecture Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 43
Well-Known Internet Protocols SMTP HTTP TCP FTP TELNET NFS UDP RTP SCTP IP + ICMP + ARP WANs ATM, LLC & MAC Physical LANs, MANs Ethernet, ARP = Address Resolution Protocol FTP = File Transfer Protocol HTTP = Hypertext Transfer Protocol IP = Internet Protocol ICMP = Internet Control Message Protocol LLC = Logical Link Control MAC = Media Access Control NFS = Network File System SMTP = Simple Mail Transfer Protocol TELNET = Remote Login Protocol TCP = Transmission Control Protocol UDP = User Datagram Protocol SCTP = Stream Control Transmission Protocol Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 44
5.2 Comparing the Reference Models: 5-Layer Model Used Herein ISO-OSI: standardized too late implementations usually worse than those of Internet protocols in general, however, mainly good concepts TCP/IP (Internet) TCP/IP already prevalent, SMTP too, now e. g. WWW integrated into UNIX Considered here: 5 4 3 2 1 Layer Application Transport Network Data Link Physical Function application related services incl. ISO-OSI L5 and L6 (as far as necessary) connection end/source (application/process) to end/destination (application/process) connection end-system to end-system reliable data transfer between adjacent stations sending bit 1 is also received as bit 1 Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 45
6 Overlay Networks Service A Service B Overlay Services Service C Overlay Network Peers identified by PeerID Firewall + NAT TCP/IP TCP/IP Network Network TCP/IP TCP/IP Network Network Relay HTTP Underlay Networks TCP TCP/IP TCP/IP Network Network Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 46
Overlay Networks Peers Overlay Network TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Underlay Networks A network provides services (service model) defines how nodes interact needs for addressing, routing, Overlay network = network built ON TOP of one or more existing networks adds an additional layer of abstraction indirection/virtualization Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 47
Overlay Networks Peers Overlay Network TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Underlay Networks E.g. P2P networks form an overlay network on top of the Internet (IP network) IP networks form an overlay network politically and technically over the underlying telecom infrastructure Both introduce their own addressing scheme: e.g. user names, IP addresses emphasize fault-tolerance are based on the end-to-end principle i.e. provide as much intelligence as possible at end nodes Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 48
Overlay Networks: Advantages Introduction of a new functionality New layer fastens search/lookup of requested information additional layer solves this problem for higher layers Do not have to deploy new equipment modify existing software/protocols Allow for bootstrapping Make use of existing environment by adding new layer Not all nodes have to participate in maintaining But free riding is still a problem E.g., adding IP on top of Ethernet does not require modifying Ethernet protocol or driver Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 49
Overlay Networks: Disadvantages Overhead Adds another layer in networking stack Additional packet headers, processing Complexity Layering does not eliminate complexity, it only manages it More layers of functionality Introducing interdependecies between layers Misleading behavior E.g. corruption drops on wireless links interpreted as congestion drops by TCP Redundancy Features may be available at various layers Some restricted functionality Some features that a lower layer does not provide cannot be added on top E.g. non real-time capabilities (for QoS) Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 50
Overlay Networks: Others Peers Overlay Network TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Underlay Networks Peer-to-Peer overlay network Content-centric networking / routing Storage and retrieval Search / recommender services Friend-of-a-friend network User-centric networking Other (non P2P) overlay network VPNs (virtual private networks) IP over ad hoc networks Application-layer multicast TOR anonymizer proxies Dr.-Ing. Kalman Graffi, FG Theorie verteilter Systeme 51