* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction
Distributed firewall wikipedia , lookup
Net neutrality law wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Computer network wikipedia , lookup
Network tap wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Airborne Networking wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Sadna Advanced Internet applications and Systems: Peer to Peer Hanoch Levy & Hillel Avni (hanoch at cs.tau.ac.il, [email protected]) Some slides adopted from Y. Mansour, Y. Afek 25.05.2017 H. Levy, Sadna P2P 2011 1 Course Information Lectures: Tuesday Shreiber 007 Teaching Assistant: Hillel Avni Web site: http://www.cs.tau.ac.il/~hanoch Search for sadna Resources: Articles: Web, Us Framework : Hillel Avni Supporting Books (computer networks – little P2P): 1. An Engineering Approach to Computer Networking / Keshav 2. Computer Networks / Tanenbaum 3. Data Networks / Bertsekas and Gallager 25.05.2017 H. Levy, Sadna P2P 2010 2/60 What is P2P + Questions 1. An “unnatural” way to ship traffic in a network: • Pass the traffic between the clients • Instead of: from server to clients 2. “Against nature laws”… 3. Rose due to “legal reasons”.. 4. Turned out to have positive technical properties 5. Can it survive 6. Can it operate in a decent environment 25.05.2017 H. Levy, Sadna P2P 2010 3/60 Peer to Peer “Historical” Internet : send data from A to K. Client-server model: 25.05.2017 A = server = data source K = client data consumer If C wants too – get from A (unicast or broadcast) H. Levy, Sadna P2P 2010 4/60 Peer to Peer 25.05.2017 A (source) sends to K. K (client) may become now a server. K sends to C (another client). H. Levy, Sadna P2P 2010 5/60 Course Objective 1. Get to understand very well P2P systems – with application to Video 2. Understand advantages and limitations 3. Understand “efficiency” and scheduling 4. Hands-on experience 5. Gate for Master thesis? …. 25.05.2017 H. Levy, Sadna P2P 2010 6/60 Structure + Grades Structure: 1) A few general lectures by team. 2) Work on your own with team guidance. 3) 3 deadlines for turning in material • Grade: • Based on what is turned in • Quality: • How good the program performs • How good the students understand the problem/solution 25.05.2017 H. Levy, Sadna P2P 2010 7/60 Motivation Last 10-15 years: communications revolution Internet + Computer communications Is a key factor of the Information revolution Implications A drastic change of some aspects of life Revolution is affected by life Technology drives applications Applications drive technology 25.05.2017 H. Levy, Sadna P2P 2010 8/60 Motivation (cont) Applications / technology / research rapidly change over time If want to stay in frontier: => Research material => Course material 25.05.2017 very dynamic very dynamic H. Levy, Sadna P2P 2010 9/60 Objectives Computer Networking course: Internet infra-structure 1 Introduction and Layering 2 Physical Layer, Data Link Layer, MAC Protocols 3 Hubs, Bridges, SwitchesData Link Layer 4 Switching UnitsSTP, Switching Fabric 5 Scheduling: Buffer Management Scheduling, WFQ example 6 Network Layer: RoutingRouting 7 Reliable Data TransferIP 8 End to End ProtocolsARQ 10 Flow Control, Congestion ControlTCP flow & congestion control 11 Network SecurityNetwork Sniffing (no slides) 12 DNS, HTTPTCP (state chart) 13 DDoS ALL – operations of network of networks. 25.05.2017 H. Levy, Sadna P2P 2010 10/60 Objectives (2) Advanced Material – network development following technology Peer to Peer (P2P): Bittorent, Skype Songs /movies / video-on-demand/video online Distributed nets (serve the user) Semi organized nets : 25.05.2017 serve the provider (e.g. video provider, Youtube?) Serve Internet Service provider (ISP=Bezeq Intl.) H. Levy, Sadna P2P 2010 11/60 Internet Physical Infrastructure Residential access Cable Fiber DSL Wireless ISP Backbone ISP ISP The Internet is a network Campus access, e.g., Ethernet Wireless 25.05.2017 of networks Each individually administrated network is called an Autonomous System (AS) H. Levy, Sadna P2P 2010 12/60 12 Data Networks Set of interconnected nodes exchange information sharing of the transmission circuits= "switching". many links allow more than one path between every 2 nodes. network must select an appropriate path for each required connection. 25.05.2017 H. Levy, Sadna P2P 2010 13/60 Real Network 25.05.2017 H. Levy, Sadna P2P 2010 14/60 Layers: Person delivery of parcel Post office counter handling Ground transfer: loading on trucks Peer entities Airport transfer: loading on airplane Airplane routing from source to destination each layer implements a service via its own internal-layer actions relying on services H. provided by layer below Levy, Sadna P2P 2010 25.05.2017 15/60 The seven Layers There are only 5 !! Application Presentation Session Application Transport Network Data Link Network Data Link Physical Physical End system 25.05.2017 Intermediate system H. Levy, Sadna P2P 2010 Application Presentation Session Transport Network Data Link Physical End system 17/60 The seven Layers - protocol stack data Application Presentation Session AH PH Network Data Link Physical Physical Session data SH Transport Network Data Link TH data data data NH data DH+data+DT bits Application Presentation Session Transport Network Data Link Physical and presentation layers are not so important, and are often ignored 18/60 25.05.2017 H. Levy, Sadna P2P 2010 עיקרון השכבות Source Application מתקבלת הודעהX בשכבה Destination זהה להודעה ששכבה Application מסרה בצד המקורX Identical message Transport Transport Identical message Network Identical message Data-Link Network Data-Link Network 25.05.2017 H. Levy, Sadna P2P 2010 19/60 Internet protocol stack application: supporting network applications ftp, smtp, http transport: host-host data transfer tcp, udp network: routing of datagrams from source to destination ip, routing protocols link: data transfer between neighboring network elements ppp, ethernet physical: bits “on the wire” 25.05.2017 H. Levy, Sadna P2P 2010 application transport network link physical 20/60 Protocol layering and data M Ht M Hn Ht M Hl Hn Ht M source destination application transport network Link physical application transport network Link physical 25.05.2017 H. Levy, Sadna P2P 2010 M message Ht M Hn Ht M Hl Hn Ht M segment datagram frame 21/60 Physical layer Moves bits between physically connected end-systems Standard prescribes L1 coding scheme to represent a bit shapes and sizes of connectors bit-level synchronization Internet technology to move bits on a wire, wireless link, satellite channel etc. 25.05.2017 H. Levy, Sadna P2P 2010 22/60 Datalink layer L2 (Reliable) communication over a single link. Introduces the notion of a frame set of bits that belong together Idle markers tell us that a link is not carrying a Begin and end markers delimit a frame Internet frame a variety of datalink layer protocols most common is Ethernet others are FDDI, SONET, HDLC 25.05.2017 H. Levy, Sadna P2P 2010 23/60 Datalink layer (contd.) Ethernet (broadcast link) end-system must receive only bits meant for it need datalink-layer address also need to decide who gets to speak next these functions are provided by Medium ACcess sublayer (MAC) Datalink layer protocols are the first layer of software Very dependent on underlying physical link properties Usually bundle both physical and datalink in hardware. 25.05.2017 H. Levy, Sadna P2P 2010 24/60 Network layer L3 Carries data from source to destination. Logically concatenates a set of links to form the abstraction of an end-to-end link Allows an end-system to communicate with any other end-system by computing a route between them Hides individual behavior of datalink layer Provides unique network-wide addresses Found both in end-systems and in intermediate systems 25.05.2017 H. Levy, Sadna P2P 2010 25/60 Network layer (contd.) Internet network layer is provided by Internet Protocol (IP) found in all end-systems and intermediate systems provides abstraction of end-to-end link segmentation and reassembly packet-forwarding, routing, scheduling unique IP addresses can be layered over anything, but only best-effort service 25.05.2017 H. Levy, Sadna P2P 2010 26/60 Network layer (contd.) At end-systems primarily hides details of datalink layer segments and reassemble detects errors At intermediate systems participates in routing protocol to create routing tables responsible for forwarding packets schedules the transmission order of packets chooses which packets to drop 25.05.2017 H. Levy, Sadna P2P 2010 27/60 Transport layer L4 Reliable end-to-end communication. creates the abstraction of an error-controlled, flow-controlled and multiplexed end-to-end link (Network layer provides only a ‘raw’ end-to-end service) Some transport layers provide fewer services e.g. simple error detection, no flow control, and no retransmission Internet TCP provides error control, flow control, multiplexing UDP provides only multiplexing 25.05.2017 H. Levy, Sadna P2P 2010 28/60 Transport layer (contd.) Error control Flow control GOAL: message will reach destination despite packet loss, corruption and duplication ACTIONS: retransmit lost packets; detect, discard, and retransmit corrupted packets; detect and discard duplicated packets match transmission rate to rate currently sustainable on the path to destination, and at the destination itself Multiplexes multiple applications to the same end-to-end connection adds an application-specific identifier (port number) so that receiving end-system can hand in incoming packet to the correct application 29/60 25.05.2017 H. Levy, Sadna P2P 2010 Session layer Not common Provides full-duplex service, expedited data delivery, and session synchronization Internet doesn’t have a standard session layer 25.05.2017 H. Levy, Sadna P2P 2010 30/60 Session layer (cont.) Duplex Expedited data delivery if transport layer is simplex, concatenates two transport endpoints together allows some messages to skip ahead in end-system queues, by using a separate low-delay transport layer endpoint Synchronization allows users to place marks in data stream and to roll back to a prespecified mark 25.05.2017 H. Levy, Sadna P2P 2010 31/60 Presentation layer Usually ad hoc Touches the application data (Unlike other layers which deal with headers) Hides data representation differences between applications characters (ASCII, unicode, EBCDIC.) Can also encrypt data Internet no standard presentation layer only defines network byte order for 2- and 4-byte integers 32/60 25.05.2017 H. Levy, Sadna P2P 2010 Application layer The set of applications that use the network Doesn’t provide services to any other layer 25.05.2017 H. Levy, Sadna P2P 2010 33/60 עיקרון השכבות Destination Source 3 אפליק 2 אפליק UDP 1 אפליק TCP Transport Network (IPv4) Modem Ethernet Application Network WiFi Data-Link Network 25.05.2017 H. Levy, Sadna P2P 2010 34/60 עיקרון השכבות Destination Source 3 אפליק 2 אפליק UDP 1 אפליק TCP 2 אפליק UDP Network (IPv4) Modem Ethernet 3 אפליק 1 TCP Network (IPv4) WiFi Modem Ethernet WiFi Network 25.05.2017 H. Levy, Sadna P2P 2010 35/60 Peer to Peer “Historical” Internet : send data from A to K. Client-server model: 25.05.2017 A = server = data source K = client data consumer If C wants too – get from A (unicast or broadcast) H. Levy, Sadna P2P 2010 36/60 Peer to Peer 25.05.2017 A (source) sends to K. K (client) may become now a server. K sends to C (another client). H. Levy, Sadna P2P 2010 37/60 Peer to Peer – WHY?? Legal (this is how it started…) Broadcast is not really implemented A is bottleneck Resource Utilization: K is idle X% (95?)of the day 25.05.2017 If implemented – not easy Need at intermediate routers to keep state of conversation For each packet to memorize who got it. Large overhead when traffic speed is high Communications (costs!!) CPU H. Levy, Sadna P2P 2010 38/60 Peer to Peer – WHY?? Scalability 25.05.2017 Can reach N clients at very low cost; By doubling the load on each recipient (which needs to become server now) can reduce the server load from N to 1. The network traffic is less than doubled. H. Levy, Sadna P2P 2010 39/60