380 likes | 507 Views
Sadna Advanced Internet applications and Systems: Peer to Peer. Hanoch Levy & Hillel Avni ( hanoch at cs.tau.ac.il , hillel.avni@gmail.com ) Some slides adopted from Y. Mansour, Y. Afek. Course Information. Lectures: Tuesday Shreiber 007 Teaching Assistant: Hillel Avni.
E N D
Sadna Advanced Internet applications and Systems: Peer to Peer Hanoch Levy & Hillel Avni (hanoch at cs.tau.ac.il, hillel.avni@gmail.com) Some slides adopted from Y. Mansour, Y. Afek H. Levy, Sadna P2P 2011
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): • An Engineering Approach to Computer Networking / Keshav • Computer Networks / Tanenbaum • Data Networks / Bertsekas and Gallager H. Levy, Sadna P2P 2010
What is P2P + Questions • An “unnatural” way to ship traffic in a network: • Pass the traffic between the clients • Instead of: from server to clients • “Against nature laws”… • Rose due to “legal reasons”.. • Turned out to have positive technical properties • Can it survive • Can it operate in a decent environment H. Levy, Sadna P2P 2010
Peer to Peer • “Historical” Internet : send data from A to K. • Client-server model: • A = server = data source • K = client data consumer • If C wants too – get from A (unicast or broadcast) H. Levy, Sadna P2P 2010
Peer to Peer • A (source) sends to K. • K (client) may become now a server. • K sends to C (another client). H. Levy, Sadna P2P 2010
Course Objective • Get to understand very well P2P systems – with application to Video • Understand advantages and limitations • Understand “efficiency” and scheduling • Hands-on experience • Gate for Master thesis? …. H. Levy, Sadna P2P 2010
Structure + Grades • Structure: • A few general lectures by team. • Work on your own with team guidance. • 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 H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
Motivation (cont) • Applications / technology / research rapidly change over time • If want to stay in frontier: • => Research material very dynamic • => Course material very dynamic H. Levy, Sadna P2P 2010
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. H. Levy, Sadna P2P 2010
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 : • serve the provider (e.g. video provider, Youtube?) • Serve Internet Service provider (ISP=Bezeq Intl.) H. Levy, Sadna P2P 2010
Internet Physical Infrastructure Residential access Cable Fiber DSL Wireless ISP Backbone ISP ISP • The Internet is a network of networks • Each individually administrated network is called an Autonomous System (AS) Campus access, e.g., • Ethernet • Wireless H. Levy, Sadna P2P 2010 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. H. Levy, Sadna P2P 2010
Real Network H. Levy, Sadna P2P 2010
Layers: Person delivery of parcel Post office counter handling Ground transfer: loading on trucks Airport transfer: loading on airplane Airplane routing from source to destination Peer entities each layer implements a service • via its own internal-layer actions • relying on services provided by layer below H. Levy, Sadna P2P 2010
The seven Layers Application Application Presentation Presentation Session Session Transport Transport Network Network Network Data Link Data Link Data Link Physical Physical Physical There are only 5 !! Application Intermediate system End system End system H. Levy, Sadna P2P 2010
The seven Layers - protocol stack data Application Application AH data Presentation Presentation PH data Session Session SH data Transport Transport Network Network NH data Data Link Data Link Physical Physical TH data Network Data Link DH+data+DT Physical bits • Session and presentation layers are not so important, and are often ignored H. Levy, Sadna P2P 2010
עיקרון השכבות בשכבה X מתקבלת הודעה זהה להודעה ששכבה X מסרה בצד המקור Destination Source Application Application Identical message Transport Transport Identical message Network Network Identical message Data-Link Data-Link Network H. Levy, Sadna P2P 2010
Internet protocol stack application transport network link physical • 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” H. Levy, Sadna P2P 2010
Protocol layering and data M M H H H H H H H H H H H H t t n t n l n l t t n t M M M M application transport network Link physical M M source destination message application transport network Link physical segment datagram frame H. Levy, Sadna P2P 2010
Physical layer L1 • Moves bits between physically connected end-systems • Standard prescribes • 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. H. Levy, Sadna P2P 2010
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 frame • Begin and end markers delimit a frame • Internet • a variety of datalink layer protocols • most common is Ethernet • others are FDDI, SONET, HDLC H. Levy, Sadna P2P 2010
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. H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
Transport layer (contd.) • Error 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 • Flow control • 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 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 H. Levy, Sadna P2P 2010
Session layer (cont.) • Duplex • if transport layer is simplex, concatenates two transport endpoints together • Expedited data delivery • 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 H. Levy, Sadna P2P 2010
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 H. Levy, Sadna P2P 2010
Application layer • The set of applications that use the network • Doesn’t provide services to any other layer H. Levy, Sadna P2P 2010
עיקרון השכבות Destination Source אפליק 3 אפליק 2 אפליק 1 Application UDP TCP Transport Network (IPv4) Network Modem Ethernet WiFi Data-Link Network H. Levy, Sadna P2P 2010
עיקרון השכבות אפליק 3 אפליק 2 אפליק 1 UDP TCP Network (IPv4) Modem Ethernet WiFi Destination Source אפליק 3 אפליק 2 אפליק 1 UDP TCP Network (IPv4) Modem Ethernet WiFi Network H. Levy, Sadna P2P 2010
Peer to Peer • “Historical” Internet : send data from A to K. • Client-server model: • A = server = data source • K = client data consumer • If C wants too – get from A (unicast or broadcast) H. Levy, Sadna P2P 2010
Peer to Peer • A (source) sends to K. • K (client) may become now a server. • K sends to C (another client). H. Levy, Sadna P2P 2010
Peer to Peer – WHY?? • Legal (this is how it started…) • Broadcast is not really implemented • 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 • A is bottleneck • Resource Utilization: K is idle X% (95?)of the day • Communications (costs!!) • CPU H. Levy, Sadna P2P 2010
Peer to Peer – WHY?? • Scalability • 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