Beruflich Dokumente
Kultur Dokumente
Chapter 1:Introduction
Computer Networking: A Top Down Approach ,
4th edition. Jim Kurose, Keith Ross
Last Lecture
Todays Lecture
FTP, HTTP
Application Transport
Network
Link Physical
Standardization proposed a seven layered model called Open Systems Interconnection (OSI) model. Presentation Layer: Provide services such as data encryption, compression. Session Layer: Synchronization points (checkpointing) and recovery of data exchange. Internet stack missing these layers! these services, if needed, must be implemented in the application by the application developer.
source
message segment
Ht M M M M
frame Hl Hn Ht
datagram Hn Ht
Encapsulation
destination
M
Ht
Hn Ht Hl Hn Ht
M M M
Hn Ht Hl Hn Ht
M
M
Hn Ht
router
POP3, IMAP
by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP DNS
Web
Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Voice over IP Real-time video conferencing Many more interesting applications
Application Architectures
Application Architecture is
Designed
by the application developer Dictates how the application is structured over various end systems
Two architectures used in modern day
Network Applications:
Client-Server
Client-Server Architecture
Server: Always-on host permanent well defined IP address A single server is incapable of keeping up with all the requests of the clients. A cluster of hosts referred as server farm is often used. Clients: Communicate with server May have dynamic IP addresses Do not communicate directly with each other Client/Server architecture is infrastructure intensive Require service providers to install and maintain servers.
Client/Server
P2P Architecture
Direct communication
between pairs of intermittently connected hosts called peers Peers are not owned by any peer-peer service provider P2P
Highly Distributive
chapter
Some apps (e.g., audio, VoIP) can tolerate some loss 2% tolerable for VoIP
email) require 100% reliable data transfer Timing Application may require timing guarantee Tight timing constraints
multiplayer games, VoIP, teleconferencing. In Non-real time lower delays are preferred but no tight constraint on end-to-end delays.
Throughput Bandwidth sensitive applications (e.g., multimedia) require minimum amount of throughput Other apps (elastic apps) make use of whatever throughput they get e.g .Email, file transfer Security Encryption and decryption
elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps -10kbps
UDP service:
unreliable data transfer
connection-oriented: setup
required between client and server processes reliable transport between sending and receiving process flow control: sender wont overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum throughput guarantees, security
between sending and receiving process does not provide: connection setup, reliability, flow control, security Throughput and timing guarantee not provided
SIP, Skype
exchanged,
Public-domain protocols: defined in RFCs allows for interoperability e.g., HTTP, SMTP Proprietary protocols: e.g., Skype
Addressing processes
To receive messages,
identifier
bit IP address
two pieces of information need to be specified: IP address of the host Port number Identifier that specifies the receiving process in the destination host Popular applications have been assigned a specific port number. Example port numbers: HTTP server: 80 Mail server: 25 www.iana.org (well known port numbers for all protocols) More in chapter 3
HTTP defines structure of messages exchanged between client and server. How the client and server exchange the messages Web browsers implement the client side of HTTP
Web Servers implement the server side of HTTP Host web objects each addressable by a URL Web page consists of objects Object can be HTML file, JPEG image, audio file Web pages consist of base HTML file and several
HTTP overview
HTTP: hypertext transfer protocol
Webs application layer
protocol client/server model client: browser that requests, receives, displays Web objects server: Web server sends objects in response to requests
PC running Explorer
HTTP connections
Nonpersistent HTTP At most one object is sent over a TCP connection. Persistent HTTP Multiple objects can be sent over single TCP connection between client and server.
Nonpersistent HTTP
(contains text, Suppose user enters URL references to 10 www.someSchool.edu/someDepartment/home.index jpeg images)
time
When the user requests the webpage 11 TCP connections are generated
RTT
request file RTT file received time time to transmit file
time
time
Persistent HTTP
Nonpersistent HTTP issues: Requires 2 RTTs per object Maintain TCP buffers in both client and server Burden on the Web Server High overhead Persistent HTTP Server leaves TCP connection open after sending response Subsequent HTTP messages between same client/server sent over open connection Default mode is Persistent with pipelining