Computer Networking Exam #2

Ace your homework & exams now with Quizwiz!

Components of Cookies

1. A cookie header line in the HTTP RESPONSE message. 2. A cookie header line in the HTTP REQUEST message. 3. A cookie file kept on the user's end system and managed by the user's browser. 4. A back-end database at the Web site.

HTTP with non-persistent connections

1. The HTTP client process initiates a TCP connection to the server (www.someSchool.edu) on port number 80 (DEFAULT for HTTP). Associated with the TCP connection, there will be a socket at the client and a socket at the server. BOTH MUST HAVE SOCKETS TO COMMUNICATE. 2. The HTTP client sends an HTTP request message to the server via its socket. The request message includes the path (name/someDepartment/home.index). 3. The HTTP server process receives the request message via its socket, retrieves the object /someDepartment/home.index from its storage (RAM or disk), encapsulates the object in an HTTP response message, and sends the response message to the client via its socket. 4. The HTTP server process tells TCP to close the TCP connection. (But TCP doesn't actually terminate the connection until it knows for sure that the client has received the response message intact.) 5. The HTTP client receives the response message. The TCP connection terminates. The message indicates that the encapsulated object is an HTML file. The client extracts the file from the response message, examines the HTML file, and finds references to the 10 JPEG objects. 6. The first four steps are then repeated for each of the referenced JPEG objects.

How to identify a socket?

1. The address of the host (IP Address). 2. An identifier that specifies the receiving process in the destination host (Port Number).

UDP

A "no-frills", lightweight transport protocol, providing minimal services. Connection-less, so there is no handshaking. Provides an unreliable data transfer service. However, it is generally simpler,faster and has fewer parts. Preferred by Internet telephony applications (such as Skype).

Web Caching

A network entity that satisfies HTTP requests on the behalf of an origin Web server. The Web cache has its own disk storage and keeps copies of recently requested objects in this storage.

Process related to sockets

A process sends messages into, and receives messages from, the network through a software interface called a socket.

What is a process?

A program that is running within an end system. Processes on two different end systems communicate with each other by exchanging messages across the computer network. A network application consists of pairs of processes that send messages to each other over a network.

Congestion-Control mechanism with TCP

A service for the general welfare of the Internet rather than for the direct benefit of the communicating processes.

Security

A transport protocol can provide an application with one or more security services. Provides confidentiality by transmitting encrypted data. Also can provide data integrity and end-point authentication.

Persistent connections

All of the requests and their corresponding responses are sent over the same TCP connection.

Cookies

Allows sites to keep track of users. Most major commercial Web sites use cookies today. Cookies can be used to identify a user. Although cookies often simply the Internet shopping experience for the user, they are controversial because they can also be considered as an invasion of privacy.

Web Server

Always on, with a fixed IP address, and it services requests from potentially millions of different browsers.

HTTP stateful or staless?

Because an HTTP server maintains no session information or status about the clients, HTTP is said to be a stateless protocol. The Web uses the client-server application architecture.

HTTP's two programs

Client and server program. These programs execute on different end systems, and talk to each other by exchanging HTTP messages.

TCP

Connection oriented service and a reliable data transfer data transfer. TCP does not provide timing, minimum throughput guarantee, and security.

Stateless

Doesn't keep any info/data on the user. An HTTP server is stateless. This simplifies server design and has permitted engineers to develop high-performance Web servers that can handle thousands of simultaneous TCP connections.

Non-persistent connections

Each request pair is sent over a separate TCP connection.

Throughput

Guarantees available throughput at some specified rate. This would appeal to many applications such as Inter Telephony (like Skype). Throughput is the rate at which the sending process can deliver bits to the receiving process. Throughput can fluctuate with time because of sessions sharing bandwidth along the network path. Applications that have throughput requirements are said to be bandwidth-sensitive applications. This is not completely necessary for "elastic applications", such as e-mail, file transfer, and web transfers.

Timing

Guarantees come in many shapes and forms. Examples: every bit that the sender pumps into the socket arrives at the receiver's socket no more than 100 msec later. This would appeal to interactive real-tie applications, such as Internet telephony, virtual environments, teleconferencing, and multiplayer games. This is because they all require tight timing constraints on data delivery in order to be effective.

Reliable Data Transfer

Guarantees that the data sent to one end of the application is delivered correctly and completely. Something must be done to avoid the packet loss within a computer network. This needs to be done for e-mail, file transfer, remote host access, web document transfers, and financial applications especially because data loss can have devastating consequences. This is not completely necessary for "loss-tolerant applications" that can tolerate some amount of data loss. This includes multimedia applications such as conversational audio/video.

HTTP with both connections

HTTP can use both non-persistent connections and persistent connections. Although HTTP uses persistent connections in its DEFAULT mode, HTTP clients and servers can be configured to use non-persistent connections instead.

HTTP

HyperText Transfer Protocol, is the Web's application-layer protocol, and is at the heart of the Web. Uses TCP as its underlying transport protocol. Once the connection is established, the browser and the server processes access TCP through their socket interfaces.

Process/Socket analogy

Process being a HOUSE and a socket being a DOOR: A sending process assumes that there is a transportation infrastructure on the other side of its door that will transport the message to the door of the destination process. Once the message arrives at the destination host, the message passe through the receiving process's door (socket), and the receiving process then acts on the message.

Pros/Cons of client-server

Pros: Cons: Costly

Pros/Cons of peer-to-peer

Pros: Does not require a dedicated server. Self-scalability. Cost effective, since they do not require significant server infrastructure. Cons:

Services

Reliable Data Transfer, Throughput, Timing, and Security.

Web Caching example

Suppose a browser is requesting the object http://www.someSchool.edu/campus.gif. 1. The browser establishes a TCP connection to the Web cache and sends an HTTP request for the object to the Web cache. 2. The Web cache checks to see if it has a copy of the object stored locally. If it does, the Web cache returns the object within an HTTP response messages to the client browser. 3. If the Web cache does not have the object, the Web cache opens a TCP connection to the origin server, that is, to www.someschool.edu. The web cache then sends an HTTP request for the object into the cache-to-server TCP connection. After receiving this request, the origin server sends the object within an HTTP response to the Web cache. 4. When the Web cache receives the object, it stores a copy in its local storage and sends a copy, within an HTTP response message, to the client browser.

Full-duplex connection

TCP conneciton. Means that the two processes can send messages to each other over the connection at the same time.

Handshaking procedure

TCP has the client and server exchange transport layer control information with each other before the application-level messages begin to flow.

Reliable data transfer service with TCP

The communicating processes can rely on TCP to deliver all data sent without error and in the proper order.

What is a socket?

The interface between the application layer and the transport layer within a host. Also referred to as the Application Programming Interface (API) between the application and the network.

HTTP with persistent connections

There are some shortcomings. First, a significant burden can be placed on the Web server. Second, each object suffers a delivery delay of two RTTs. With persistent connections, the server leaves the TCP connection open after sending a response. Subsequent requests and responses between the same client and server can be sent over the same connection. The DEFAULT mode of HTTP uses persistent connections with pipelining. Typically, the HTTP server closes a connection when it isn't used for a certain time (timeout).

Client-server

There is an always-on host, called the server, which services requests from browsers running on client hosts. Clients DO NOT directly communicate with each other. The server has a fixed, well-known address, called an IP address. Examples of applications with client-server: Web, FTP, Telnet and e-mail.

Peer-to-peer

There is minimal (or no) reliance on dedicated servers. The application uses direct communication between pairs of connected hosts, called peers. Examples of applications with peer-to-peer: file sharing (BitTorrent), Skype.

Two Types of Sockets

UDP and TCP

Two transport protocols

UDP and TCP

Port Numbers

Web server -> 80 A mail server process (using SMTP protocol) -> 25

Two types of predominant Network Application Architectures

client-server and peer-to-peer

Round-trip Time (RTT)

defined as the time it takes for a small packet to travel from client to server and then back to the client. The RTT includes packet-propagation delays, packet queuing delays in intermediate routers and switches, and packet-processing delays. Non-persistent HTTP response time = 2RTT + file transmission rate.

Application architecture

designed by the application developer and dictates how the application is structured over the various end systems.


Related study sets

Chapter 42: Management of Patients w/ musculoskeletal trauma

View Set

Abdomen Finals Review : Liver, Biliary system, Spleen, Pancreas, Kidneys

View Set

Public Speaking Unit 1: Intro to Public Speaking

View Set

Econ Chapter 9: Monopolistic Competition and Oligopoly

View Set

Mod 2 Week 5 Quiz Review (Bible)

View Set

Stallings Cumulative Ch 1-7, 9-16 - Computer Organization and Assembly Language Final Exam - CS330 (possible test questions)

View Set

HR ch:6, HR ch:8, HR ch:7, HR ch:9

View Set