Computer Chapter 2 Networking A TOP-DOWN APPROACH VENTH IDITION Application Layer KUROSE·ROSS A note on the use of these Powerpoint slides: We're making these slides freely available to all (faculty.students,readers). They're in PowerPoint form so you see the animations;and can add,modify. and delete slides (including this one)and slide content to suit your needs. They obviously represent a lot of work on our part.In return for use,we only ask the following: Computer If you use these slides (e.g.,in a class)that you mention their source (after all,we'd like people to use our book!) Networking:A Top If you post any slides on a ww site,that you note that they are adapted from (or perhaps identical to)our slides,and note our copyright of this Down Approach material. 7th edition Thanks and enjoy!JFK/KWR Jim Kurose,Keith Ross All material copyright 1996-2016 Pearson/Addison Wesley April 2016 J.F Kurose and K.W.Ross,All Rights Reserved Application Layer 2-1
Computer Networking: A Top Down Approach A note on the use of these Powerpoint slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: ▪ If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!) ▪ If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 Chapter 2 Application Layer Application Layer 2-1
Chapter 2:outline 2.I principles of network 2.5 P2P applications applications 2.6 video streaming and 2.2 Web and HTTP content distribution 2.3 electronic mail networks ·SMTP,POP3,IMAP 2.7 socket programming 2.4 DNS with UDP and TCP Application Layer2-2
Application Layer2-2 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic mail • SMTP, POP3, IMAP 2.4 DNS 2.5 P2P applications 2.6 video streaming and content distribution networks 2.7 socket programming with UDP and TCP
Chapter 2:application layer our goals: learn about protocols by ■conceptual,, examining popular implementation aspects application-level of network application protocols protocols ·HTTP ·transport-layer ·FTP service models ·SMTP/POP3/IMAP ·client-server ·DNS paradigm creating network ·peer-to-peer applications paradigm ·socket API content distribution networks Application Layer2-3
Application Layer2-3 Chapter 2: application layer our goals: ▪ conceptual, implementation aspects of network application protocols • transport-layer service models • client-server paradigm • peer-to-peer paradigm • content distribution networks ▪ learn about protocols by examining popular application-level protocols • HTTP • FTP • SMTP / POP3 / IMAP • DNS ▪ creating network applications • socket API
Some network apps ■e-mail ■voice over IP(e-g, ■web Skype) ■text messaging real-time video ■remote login conferencing ■P2 P file sharing ■social networking ■multi-.user network ■search games streaming stored video (YouTube,Hulu, Netflix) Application Layer2-4
Application Layer2-4 Some network apps ▪ e-mail ▪ web ▪ text messaging ▪ remote login ▪ P2P file sharing ▪ multi-user network games ▪ streaming stored video (YouTube, Hulu, Netflix) ▪ voice over IP (e.g., Skype) ▪ real-time video conferencing ▪ social networking ▪ search ▪ … ▪ …
Creating a network app pplication trans port network data link physical write programs that: run on(different)end systems communicate over network e.g.,web server software communicates with browser software no need to write software application transport network for network-core devices data link application physical transport network-core devices do not data link run user applications applications on end systems allows for rapid app development,propagation Application Layer2-5
Application Layer2-5 Creating a network app write programs that: ▪ run on (different) end systems ▪ communicate over network ▪ e.g., web server software communicates with browser software no need to write software for network-core devices ▪ network-core devices do not run user applications ▪ applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical
Application architectures possible structure of applications: ■client-server peer-to-peer (P2P) Application Layer2-6
Application Layer2-6 Application architectures possible structure of applications: ▪ client-server ▪ peer-to-peer (P2P)
Client-server architecture server: ■always-on host permanent IP address data centers for scaling clients: communicate with server client/server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other Application Layer2-7
Application Layer2-7 Client-server architecture server: ▪ always-on host ▪ permanent IP address ▪ data centers for scaling clients: ▪ communicate with server ▪ may be intermittently connected ▪ may have dynamic IP addresses ▪ do not communicate directly with each other client/server
P2P architecture no always-on server peer-peer arbitrary end systems directly communicate peers request service from other peers,provide service in return to other peers self scalability-new peers bring new service capacity,as well as new service demands peers are intermittently connected and change IP addresses ·complex management Application Layer2-8
Application Layer 2 - 8 P2P architecture ▪ no always-on server ▪ arbitrary end systems directly communicate ▪ peers request service from other peers, provide service in return to other peers • self scalability – new peers bring new service capacity, as well as new service demands ▪ peers are intermittently connected and change IP addresses • complex management peer -peer
Processes communicating process:program running clients,servers within a host client process:process that within same host,two initiates communication processes communicate server process:process that using inter-process waits to be contacted communication(defined by OS) processes in different hosts communicate by exchanging aside:applications with P2P messages architectures have client processes server processes Application Layer2-9
Application Layer2-9 Processes communicating process: program running within a host ▪ within same host, two processes communicate using inter-process communication (defined by OS) ▪ processes in different hosts communicate by exchanging messages client process: process that initiates communication server process: process that waits to be contacted ▪ aside: applications with P2P architectures have client processes & server processes clients, servers
Sockets process sends/receives messages to/from its socket socket analogous to door sending process shoves message out door sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process application socket application controlled by process process app developer transport transport network network controlled link by OS Internet link physical physical Application Layer2-10
Application Layer2-10 Sockets ▪ process sends/receives messages to/from its socket ▪ socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process Internet controlled by OS controlled by app developer transport application physical link network process transport application physical link network process socket