1
play

1 Pure P2P architecture Hybrid of client-server and P2P Skype no - PDF document

Last time Today: Application Layer Mobile network Our goals: Internet overview learn about protocols Global ISP conceptual, whats a protocol? by examining popular implementation network edge, core, access


  1. Last time Today: Application Layer Mobile network Our goals: � Internet overview � learn about protocols Global ISP � conceptual, � what’s a protocol? by examining popular implementation � network edge, core, access application-level aspects of network network Home network protocols application protocols application pp Regional ISP Regional ISP � packet-switching versus k t it hi � HTTP � HTTP � transport-layer circuit-switching � (FTP) service models transport � SMTP/POP3/IMAP � Internet/ISP structure Institutional network � client-server � DNS � performance: loss, delay paradigm network � P2P file sharing � layering and service models � peer-to-peer paradigm link � history physical 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU Creating a network app A day in the life: scenario application transport network data link write programs that physical browser DNS server � run on (different) end Comcast network 68.80.0.0/13 systems � communicate over network � e.g., web server software communicates with browser communicates with browser school network software 68.80.2.0/24 application No need to write software transport web page network data link for network-core devices application physical transport network � Network-core devices do data link physical not run user applications web server Google’s network � applications on end systems 64.233.169.105 64.233.160.0/19 allows for rapid application development, propagation 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU Creating a network app: Choices Client-server architecture server: � Application architecture � always-on host � Client-server � permanent IP address � Peer-to-peer (P2P) � server farms for � Hybrid of client-server and P2P scaling � Transport service clients: � communicate with server � Sockets client/server � may be intermittently � TCP connected � UDP � may have dynamic IP addresses � Application layer protocol � do not communicate directly with each other 11/9-09 11/9-09 Datakommunikation - Jonny Pettersson, UmU Datakommunikation - Jonny Pettersson, UmU 1

  2. Pure P2P architecture Hybrid of client-server and P2P Skype � no always-on server � voice-over-IP P2P application � arbitrary end systems � centralized server: finding address of remote party directly communicate peer-peer � client-client connection: direct (not through � peers are intermittently server) connected and change IP connected and change IP Instant messaging addresses � chatting between two users is P2P � centralized service: client presence detection/location • user registers its IP address with central Highly scalable but server when it comes online difficult to manage • user contacts central server to find IP addresses of buddies 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU Processes communicating Sockets Client process: process Process: program running � process sends/receives host or host or server that initiates server within a host messages to/from its communication socket � within same host, two controlled by Server process: process app developer processes communicate � socket analogous to door process process that waits to be using inter-process g p � sending process shoves � sending process shoves socket socket contacted communication (defined message out door TCP with TCP with Internet by OS) � sending process relies on buffers, buffers, variables variables transport infrastructure � processes in different � Note: applications with on other side of door which hosts communicate by P2P architectures have brings message to socket controlled exchanging messages client processes & by OS at receiving process server processes � API: (1) choice of transport protocol; (2) ability to fix a few parameters 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU What transport service does an app need? Addressing processes Data loss Throughput � to receive messages, � identifier includes both � some apps (e.g., audio) can � some apps (e.g., process must have IP address and port tolerate some loss multimedia) require identifier numbers associated with � other apps (e.g., file minimum amount of process on host � host device has unique transfer, telnet) require throughput to be 32-bit IP address � Example port numbers: 100% reliable data “effective” � Q: does IP address of � Q: does IP address of � HTTP server: 80 � HTTP server: 80 t transfer f � other apps (“elastic apps”) host on which process � Mail server: 25 Timing make use of whatever runs suffice for � to send HTTP message � some apps (e.g., throughput they get identifying the to gaia.cs.umass.edu web Internet telephony, Security process? server: interactive games) � Encryption, data � A: No, many require low delay to be � IP address: 128.119.245.12 “effective” integrity, … processes can be � Port number: 80 running on same host 11/9-09 11/9-09 Datakommunikation - Jonny Pettersson, UmU Datakommunikation - Jonny Pettersson, UmU 2

  3. Internet transport protocols services Transport service requirements of common apps TCP service: UDP service: � unreliable data transfer Time Sensitive � connection-oriented: setup Application Data loss Bandwidth required between client and between sending and no server processes receiving process file transfer no loss elastic no e-mail no loss elastic � reliable transport between � does not provide: no Web documents no loss elastic sending and receiving process connection setup, yes, 100 s msec yes 100’s msec real time audio/video real-time audio/video reliability, flow control, loss-tolerant l t l t audio: 5kbps-1Mbps di 5kb 1Mb � flow control: sender won’t video:10kbps-5Mbps congestion control, timing, overwhelm receiver yes, few secs stored audio/video loss-tolerant same as above or bandwidth guarantee � congestion control: throttle yes, 100’s msec interactive games loss-tolerant few kbps up sender when network instant messaging yes and no no loss elastic overloaded Q: Why bother? Why is there a UDP? � does not provide: timing, minimum bandwidth guarantees 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU App-layer protocol defines Internet apps: application, transport protocols � Types of messages Public-domain protocols: Application Underlying exchanged, layer protocol � defined in RFCs Application transport protocol � e.g., request, response � allows for e-mail SMTP [RFC 2821] TCP � Message syntax: interoperability remote terminal access Telnet [RFC 854] TCP � what fields in messages & Web HTTP [RFC 2616] TCP � e.g., HTTP, SMTP � e.g., HTTP, SMTP how fields are delineated h f ld d l d file transfer fil t f FTP [RFC 959] FTP [RFC 959] TCP TCP Proprietary protocols: streaming multimedia HTTP (eg Youtube), � Message semantics TCP or UDP � e.g., Skype RTP [RFC 1889] � meaning of information in SIP, RTP, proprietary Internet telephony fields (e.g., Skype) typically UDP � Rules for when and how processes send & respond to messages 11/9-09 Datakommunikation - Jonny Pettersson, UmU 11/9-09 Datakommunikation - Jonny Pettersson, UmU Web and HTTP HTTP overview First some jargon HTTP: hypertext transfer protocol � Web page consists of objects � Web’s application layer � Object can be HTML file, JPEG image, Java protocol PC running applet, audio file,… Explorer � client/server model � Web page consists of base HTML-file which p g � client: browser that � client: browser that includes several referenced objects requests, receives, � Each object is addressable by a URL “displays” Web objects Server running � server: Web server � Example URL: Apache Web sends objects in server response to requests www.someschool.edu/someDept/pic.gif � HTTP 1.0: RFC 1945 Mac running path name host name Navigator � HTTP 1.1: RFC 2616 11/9-09 11/9-09 Datakommunikation - Jonny Pettersson, UmU Datakommunikation - Jonny Pettersson, UmU 3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend