Administrative Things

Slides:



Advertisements
Similar presentations
19 – Multimedia Networking. Multimedia Networking7-2 Multimedia and Quality of Service: What is it? multimedia applications: network audio and video (“continuous.
Advertisements

Chapter 1 Review Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan.
HyperText Transfer Protocol (HTTP)
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
Chapter 2: Application Layer
2: Application Layer P2P applications and Sockets.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Web, HTTP and Web Caching
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
P2P File Sharing Systems
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
CHAPTER 2. Creating a network app write programs that – run on (different) end systems – communicate over network – e.g., web server software communicates.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
Week 11: Application Layer1 Web and HTTP First some jargon r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,…
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Chapter 2: Application layer
CPSC 441: Multimedia Networking1 Outline r Scalable Streaming Techniques r Content Distribution Networks.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Ch 2. Application Layer Myungchul Kim
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Content distribution networks (CDNs) r The content providers are the CDN customers. Content replication r CDN company installs hundreds of CDN servers.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
2: Application Layer 1 CMPT 371 Data Communications and Networking Chapter 2 Application Layer - 2.
Ch 2. Application Layer Myungchul Kim
CSEN 404 Application Layer II Amr El Mougy Lamia Al Badrawy.
2: Application Layer 1 Chapter 2 Application Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added.
05 - P2P applications and Sockets
Introduction to Networks
19 – Multimedia Networking
Introduction to Networks
Chapter 2: Application Layer
HTTP request message: general format
Application layer 1 Principles of network applications 2 Web and HTTP
Introduction to Communication Networks
Lecture 2 Dr. Richard Spillman Fall 2009
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Chapter 2: Application layer
Working at a Small-to-Medium Business or ISP – Chapter 7
Introduction to Networks
Department of Computer Science University of Calgary
Working at a Small-to-Medium Business or ISP – Chapter 7
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 2 Application Layer
Chapter 2: Application layer
ECE 671 – Lecture 16 Content Distribution Networks
Computer Communication & Networks
Working at a Small-to-Medium Business or ISP – Chapter 7
Process-to-Process Delivery:
لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.
Chapter 2: Application layer
TCP/IP Protocol Suite: Review
EEC-484/584 Computer Networks
CSE 4213: Computer Networks II
Process-to-Process Delivery: UDP, TCP
CS1652 September 4th, 2012 Jack Lange University of Pittsburgh
Chapter 2 Application Layer - 2
Presentation transcript:

Administrative Things Grader: Yona Raekow Email: yona.raekow@gmx.de Office: ITEB 230 Office Hours: Wed. 1pm-3pm or by appointments (in the week when you get your returned homework) Homeworks Show how you get the results (not just give the numbers) Project Start to learn right now (Unix and socket programming) Will be posted on class web this weekend WebCT (discussion list) Lecture8

A Review of Socket Programming Socket programming with TCP Handshaking Establish a virtual pipe Socket programming with UDP No handshaking, no virtual pipe Attach IP address and port number to packets Java API Unix BSD API (required) Lecture8

Connection-oriented: Big Picture server client sd=socket(): create socket socket(): create socket bind(sd, …): specify socket address bind(): specify socket address optional listen(sd, …): specify that socket sd is a listening socket TCP connection setup connect(): initialize TCP handshake; return until TCP handshake is done sd2=accept(sd, …): get a connected connection from the queue for socket sd; create a new socket identified by sd2 write()/send(): do IO on the socket read()/recv(): do IO on socket sd2 close(): done close(sd2): done Lecture8

Connectionless: Big Picture server client sd=socket(): create socket socket(): create socket write()/sendto(): send packets to server, by specifying receiver address and port number bind(sd, …): specify socket local IP address and port number read()/recvfrom(): receive packets close(): done close(): done Lecture8

Chapter 2 outline 2.1 Principles of app layer protocols clients and servers app requirements 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 Socket programming with TCP 2.7 Socket programming with UDP 2.8 Building a Web server 2.9 Content distribution Network Web caching Content distribution networks P2P file sharing Lecture8

Web caches (proxy server) Goal: satisfy client request without involving origin server user sets browser: Web accesses via cache browser sends all HTTP requests to cache object in cache: cache returns object else cache requests object from origin server, then returns object to client Cache acts as both client and server origin server Proxy server HTTP request HTTP request client HTTP response HTTP response HTTP request HTTP response client origin server Lecture8

More about Web caching Why Web caching? Reduce response time for client request. Reduce traffic on an institution’s access link. Internet dense with caches enables “poor” content providers to effectively deliver content Problems ??? Web page update Performance Cache can do up-to-date check using If-modified-since HTTP header Issue: should cache take risk and deliver cached object without checking? Heuristics are used. Typically cache is installed by ISP (university, company, residential ISP) Advanced: cooperative caching Hierarchical catches Catch clusters Lecture8

Caching example (1) origin Assumptions servers average object size = 100,000 bits avg. request rate from institution’s browser to origin serves = 15/sec delay from institutional router to any origin server and back to router = 2 sec Consequences utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds public Internet 1.5 Mbps access link institutional network 10 Mbps LAN institutional cache Lecture8

Caching example (2) origin Possible solution servers increase bandwidth of access link to, say, 10 Mbps Consequences utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs often a costly upgrade public Internet 10 Mbps access link institutional network 10 Mbps LAN institutional cache Lecture8

Caching example (3) origin servers Install cache Consequence suppose hit rate is .4 Consequence 40% requests will be satisfied almost immediately 60% requests satisfied by origin server utilization of access link reduced to 60%, resulting in negligible delays (say 10 msec) total delay = Internet delay + access delay + LAN delay = .6*2 sec + .6*.01 secs + milliseconds < 1.3 secs public Internet 1.5 Mbps access link institutional network 10 Mbps LAN institutional cache Lecture8

Content distribution networks (CDNs) origin server in North America The content providers are the CDN customers. Content replication CDN company installs hundreds of CDN servers throughout Internet in lower-tier ISPs, close to users CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers CDN distribution node CDN server in S. America CDN server in Asia CDN server in Europe Difference between web caching and CDN ? Lecture8

CDN example origin server CDN company www.foo.com cdn.com HTTP request for www.foo.com/sports/sports.html DNS query for www.cdn.com www.cdn.com/www.foo.com/sports/ruth.gif 1 2 3 Origin server CDNs authoritative DNS server Nearby CDN server origin server www.foo.com distributes HTML Replaces: http://www.foo.com/sports.ruth.gif with http://www.cdn.com/www.foo.com/sports/ruth.gif CDN company cdn.com distributes gif files uses its authoritative DNS server to route redirect requests Lecture8

More about CDNs routing requests not just Web pages CDN creates a “map”, indicating distances from leaf ISPs and CDN nodes when query arrives at authoritative DNS server: server determines ISP from which query originates uses “map” to determine best CDN server not just Web pages streaming stored audio/video streaming real-time audio/video CDN nodes create application-layer overlay network (will be covered in Chapter 6) Lecture8

P2P file sharing All peers are servers = highly scalable! Example Alice runs P2P client application on her notebook computer Intermittently connects to Internet; gets new IP address for each connection Asks for “Hey Jude” Application displays other peers that have copy of Hey Jude. Alice chooses one of the peers, Bob. File is copied from Bob’s PC to Alice’s notebook: HTTP While Alice downloads, other users uploading from Alice. Alice’s peer is both a Web client and a transient Web server. All peers are servers = highly scalable! Q: Why P2P file sharing ??? Lecture8

P2P: centralized directory directory server peers Alice Bob 1 2 3 original “Napster” design 1) when peer connects, it informs central server: IP address Content 2) Alice queries for “Hey Jude” 3) Alice requests file from Bob Server keep a huge database that maps content to peers Lecture8

P2P: problems with centralized directory Single point of failure Performance bottleneck Copyright infringement file transfer is decentralized, but locating content is highly centralized Lecture8

P2P: decentralized directory Each peer is either a group leader or assigned to a group leader. Group leader tracks the content in all its children. Peer queries group leader; group leader may query other group leaders. Lecture8

More about decentralized directory overlay network peers are nodes edges between peers and their group leaders edges between some pairs of group leaders virtual neighbors bootstrap node connecting peer is either assigned to a group leader or designated as leader advantages of approach no centralized directory server location service distributed over peers more difficult to shut down disadvantages of approach bootstrap node needed group leaders can get overloaded Lecture8

P2P: Query flooding Gnutella no hierarchy use bootstrap node to learn about others join message Send query to neighbors Neighbors forward query If queried peer has object, it sends message back to querying peer join Lecture8

P2P: more on query flooding Pros peers have similar responsibilities: no group leaders highly decentralized no peer maintains directory info Improvement: query radius may not have content when present Cons excessive query traffic bootstrap node maintenance of overlay network Q: P2P without any bootstrapping node ??? Lecture8

Chapter 2: Summary Our study of network apps now complete! application service requirements: reliability, bandwidth, delay client-server paradigm Internet transport service model connection-oriented, reliable: TCP unreliable, datagrams: UDP specific protocols: HTTP FTP SMTP, POP, IMAP DNS socket programming content distribution caches, CDNs P2P Lecture8

Chapter 2: Summary Most importantly: learned about protocols typical request/reply message exchange: client requests info or service server responds with data, status code message formats: headers: fields giving info about data data: info being communicated control vs. data msgs in-band, out-of-band centralized vs. decentralized stateless vs. stateful reliable vs. unreliable msg transfer “complexity at network edge” security: authentication Lecture8