click below
click below
Normal Size Small Size show me how
csc chp2 flashcards
topics = principles of network application to half of web and http
| Question | Answer |
|---|---|
| What are the conceptual and implementation aspects of application-layer protocols | transport-layer service models / client-serve paradigm / peer-to-peer paradigm |
| what's an example of a programming network application | socket API |
| what are some popular application-layer protocols | HTTP / SMTP, IMAP / DNS |
| when creating a network app, how should the program be written | the program should run on different end systems and communicate over network (eg: web server software communicates using browser software) |
| why don't you need to write software for network-core devices | network-core devices don't run user apps and apps on end systems allow rapid app development |
| what are the three main server specifications | always-on host / permanent IP address / often in data centers |
| what are four main client specifications | communication with server / may be intermittently (irregular intervals) connected / they don't communicate directly with each other |
| what are some specifications of a peer-to-peer architecture | no always-on server / arbitrary end systems directly communicate / peers request service from one another / peers are intermittently connected and change IP addresses |
| what does self scalability mean regarding peer-to-peer architecture | new peers bring new service capacity and new service demands |
| what's an example of peer-to-peer architecture | P2P file sharing |
| what makes for complex management in peer-to-peer architecture | when peers are intermittently connected |
| what is a process | a program running within a host |
| what is processes communicating | two processes communicate using inter-process communication, all within the same host |
| what is inter-process communication defined by | OS |
| how do processes in different hosts commuicate by | exchanging messages |
| what process does the client process do | initiates communication |
| what process does the server process do | waits to be contacted |
| what processes do P2P architecture applications have | client processes & server processes |
| what is the purpose of a socket | process is to send and receive messages to and from its socket |
| why do sockets have analogous to door process | the sending process pushes the message out the door |
| what does the sending process rely on | process relies on transport infrastructure on the other side of the door to deliver message to receiving socket |
| how many sockets are involved in the sending/receiving process | two |
| how does the addressing process work | to receive messages the process must have an identifier |
| what must the host device have for the addressing process to receive the message | a unique 32-bbit IP address |
| what is an identifier | an IP address and a port number associated with process on host |
| can an IP address of a host on which process runs suffice for identifying the process | no because many processes can be running on the same host |
| what does an application-layer protocol define | message exchanged / message syntax / message semantics / rules / open protocols / proprietary protocols |
| what are examples of types of messages exchanged | request and response |
| what is message syntax | what fields in messages and how fields are described |
| what is message semantics | meaning of info in fields |
| what are rules for in application-layer protocols | when and how processes send & respond to messages |
| what are open protocls | allows for interoperability (defined in RFC's) |
| what is a proprietary protocol | communication protocols held by a specific company (skype) |
| what does data integrity require | 100% reliable data transfer (other apps tolerate some loss) |
| what is timing for regarding transport service | require low delay to be "effective" (internet telephony / interactive games) |
| what is the purpose of throughput | for multimedia, apps require min amount of throughput to be effective |
| what does security provide regarding transport service | encryption and data integrity |
| what is a tcp service | reliable transport between sending and receiving process |
| does tcp service have flow control | yes, this helps not overwhelm the receiver from the sender |
| what is a positive for congestion control for tcp service | throttle (controls the flow) sender when network is overloaded |
| what does tcp service not provide | timing, min throughput guarantee and security |
| what connection-orientation does a tcp service need | setup required between client and server processes |
| what is a udp | unreliable data transfer between sending and receiving process |
| what doesn't udp provide | reliability, flow control, timing, throughput gaurantee, security, or connection setup |
| what type of security does tcp & udp sockets provide | no encryption (cleartext passwords are sent into socket traverse internet in cleartext) |
| what security does transport layer security (TLS) provide | encrypted tcp connections, data integrity and end-point authentication |
| why are TSL implemented in application layer | apps use TSL libraries that use TCP |
| how does a TLS socket API work | cleartext sent into socket traverse internet which is then encrypted |
| what does a web page consists of | different objects, each of which can be stored on different web servers |
| what are some examples of objects on a webpage | html files, jpeg images, java applet, audio files... |
| what is the base of an html webpage | html file, including several referenced objects which are addressable by a url |
| what does http stand for | hypertext transfer protocol |
| using HTTP protocol how do client models work | the browser requests, receives and displays web objects |
| using HTTP protocol how do serve models work | web server sends objects in response to requests |
| how does HTTP use TCP | client initiates TCP connection (creating socket) to socket, then server accepts TCP connection from client. http messages are then exchanged between browser and web server |
| what is the http client in the HTTP uses TCP process | the browser |
| what is the http server in the HTTP uses TCP process | web server |
| what is the status of the tcp connection | closed |
| what is meant by "HTTP is stateless" | server maintains no information about past client requests |
| what is meant by "protocols that maintain state are complex" | past history (state) must be maintained / if server or client crashes their views or state may be inconsistent and must be reconciled |
| non-persistent HTTP step by step procedure | TCP connection opened > at most one object sent over TCP connection > TCP connection closed |
| what does downloading multiple objects require | multiple connections |
| three characteristics of persistent HTTP | TCP connection opened to server / multiple objects can send over single TCP connection between client and that server / TCP connection is closed |
| what is the definition for RTT | time for a small packet to travel from client to sever and back |
| what is the HTTP response time per object sequence | one RTT to initiate TCP connection > one RTT for HTTP request and first few bytes of HTTP response to return > object/file transmission time |
| three non-persistent HTTP issues | requires 2 RTTs per object / OS overhead for each TCP connection / browsers often open multiple parallel TCP connections to fetch reference objects in parallel |
| three persistent HTTP characteristics | server leaves connection open after sending response / subsequent HTTP messages between same client and server sent over open connection / client send requests as soon as it encounters a referenced object / as little as one RTT for all the referenced objs |
| what are the two types of HTTP messages | request and response |
| what is the HTTP request message format | ASCII (human-readable format) |
| four types of HTTP request messages | post method / head method / get method / put method |
| what is a post method | web page usually includes form input / user input sent from client to server in entity body of HTTP post request message |
| what is a head method | requests header that would be retuned if specified url were requested with an HTTP "get" method |
| what is a get method | include user data in url field of HTTP "get" request message |
| what is a put method | uploads new file to server / completely replaces file that exists at specified url with content in entity body of "post" HTTP request message |
| what are HTTP reponse status codes | appear in1st line in severe-to-client response message |
| examples of HTTP response status code | 200 OK, request succeeded / 301 Moved Permanently, requested object moved / 400 Bad Request, request msg not understood / 404 Not Found, requested doc not found... |
| END! | Make new flashcards from slide 32 on chapter 2 |