Application Layer and Socket Programming
Application Layer and Socket Programming
Hakim Weatherspoon
Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems and Networking
September 3, 2014
Slides used and adapted judiciously from Computer Networking, A Top-Down Approach
Goals for Today
? Application Layer
? Example network applications ? conceptual, implementation aspects of network application
protocols ? client-server paradigm ? transport-layer service models
? Socket Programming
? Client-Server Example
? Backup Slides
? Web Caching ? DNS (Domain Name System)
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
application
write programs that:
transport network data link physical
? 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
Client-Server Architecture
client/server
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
Network Applications
Communicating Processes
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
clients, servers client process: process
that initiates communication
server process: process
that waits to be contacted
aside: applications with P2P architectures have client processes & server processes
Network Applications
? 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
process
transport network
link physical
socket
Internet
application
process
transport network
link physical
controlled by app developer
controlled by OS
Network Applications
How to identify network applications?
? to receive messages,
? identifier includes both IP
process must have
address and port numbers
identifier
associated with process on
? host device has unique 32-
host.
bit IP address
? example port numbers:
? Q: does IP address of host on which process runs
? HTTP server: 80 ? mail server: 25
suffice for identifying the
? to send HTTP message to
process?
cs.cornell.edu web
A: no, many processes can be running on same host
server:
? IP address: 128.84.154.137 ? port number: 80
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- application layer and socket programming
- functions open michigan
- 1 functions in python
- cse 231 fall 2009 programming project 1
- programming by example
- problem set 1 mit opencourseware
- python beginner tutorials
- chapter 1 scalar variables and data types
- python programming basics
- cs348 computer networks socket programming
Related searches
- programming and coding for beginners
- java programming problems and solutions
- programming languages and their uses
- introduction to java programming and data structures
- telecommuting application form and agreement
- neural network layer types
- deep learning layer types
- cic application forms and guides
- amd socket types and processors
- the subcutaneous layer consist of
- myelinated nerve fiber layer code
- photoshop mask layer effects