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 |