Networking - Ch 2.1 & 2.7
What does a DNS record look like?
(Name, Value, Type, TTL) - time to live
What are the four dimensions to consider when chosing a transport protocol?
- Reliable Data Transfer - Throughput - Timing - Security
What are top level domains?
.com, .edu, .gov, etc.
Why not centralize DNS?
1. single point of failure 2. traffic volume 3. distant centralized database 4. maintenance
What are some HTTP status codes?
200 - OK 301 - Moved permanently 400 - Bad request 404 - Not found 505 - HTTP Version not supported
How many bytes are in an IP address?
4
What is the port numbers for web servers and mail server processes?
80, 25
What are the four types for DNS records?
A - Hostname, value is IP address NS - Name is domain, value is hostname of authoritative name server CNAME - name is alias name for some canonical name, value is canonical name MX - Value is name of SMTP mail server associated with name
What is the function of an IP address?
A 32-bit quantity which uniquely identifies the host.
What is a non-persistent connection?
A TCP connection is opened, at most one object is sent over TCP connection, and then closed.
What is a persistent connection?
A TCP connection is opened, multiple objects are sent, the connection is closed.
What are the four components of cookie technology?
A cookie header line in HTTP response message, a cookie header line in the HTTP request message, a cookie file kept on the user end system, a back end database at the website.
What is an iterated query?
A form of DNS name resolution, a contacted server replies with name of server to contact.
What is a recursive query?
A form of DNS name resolution, places burden of name resolution on contacted name server.
What does it mean to be a connection oriented service?
A handshaking procedure is required to take place before the messages begin to flow.
What is the function of a port number?
A host could be running many network applications, a port number identifies the receiving process.
What is a socket?
A software interface that processes send messages into and receives messages from.
Give an example of a content negotiation header.
Accept-language : indicates the preferred language version of the object.
What is the purpose of a conditional GET?
Allows HTTP to verify that it's objects are up-to-date. Done via a If-modified-since header line.
Describe client-server architecture.
An always-on host (server) which services requests from other hosts called clients. The server has a fixed well known address.
What is the difference between a proprietary network application and an open network application?
An open network application is an implementation whose operation is specified in a protocol standard, whereas a proprietary network application employ an application-layer protocol which has not been openly published in an RFC.
What are authoritative DNS servers?
An organization's own DNS servers.
What is an API?
Application Programming Interface, another reference to a socket.
What are bandwidth-sensitive applications?
Applications that have throughput requirements.
What is a loss-tolerant application?
Applications which can still operate where some data doesn't arrive, e.g. multimedia applications.
How do we keep states in HTTP?
At protocol endpoints, or in cookies.
What can cookies be used for?
Authorization, shopping carts, recommendations, user session state.
What are some shortcomings of non-persistent connections?
Brand new connections must be established and maintained for each requested object. TCP buffers must be allocated and variables must be kept. Delay of two RTT's
What are CDN's?
Content Distribution Networks, caches basically.
What are tracking cookies?
Cookies that allow common identity to be tracked across multiple websites.
What does DNS do?
DNS servers communicate to resolve names (address/name translation)
What is an application layer protocol?
Defines how an application's processes, running on different end systems pass messages to each other. - Type of messages - Syntax of messages - Semantics of the fields - Rules for determining how process sends and responds to messages.
Where is DNS used?
Distributed database implemented in hierarchy of many name servers.
What is DNS?
Domain name system.
Give an example of an elastic application.
Electronic mail, file transfer.
What does the GET method do?
For sending data to the server.
What are the remaining lines of a HTTP message called?
Header lines.
What are some of the services offered by DNS?
Hostname-to-IP-address translation. Host aliasing Mail server aliasing Load distribution
What are the two components of the following URL: http://www.someSchool.edu/someDepartment/picture.gif
Hostname: http://www.someSchool.edu Path name: /someDepartment/picture.gif
What is reliable data transfer?
If a protocol provides guaranteed data delivery.
Give an example of a network application which would benefit from a guaranteed throughput.
Internet telephony application.
Give an example of an application which has a timing requirement.
Internet telephony, teleconferencing, multiplayer games, etc. (anything real time)
Why is DNS caching used?
It improves response time. Cached entries timeout (disappear) after some time (TTL).
What does it mean to be a stateless protocol?
It maintains no information about clients. HTTP is stateless.
Why do we still need a host header line even if we've got the handshake established?
It's required by Web proxy caches.
What are the three fields of the request line?
Method field (GET, POST, HEAD, PUT, DELETE), URL field, HTTP version field.
What are elastic applications?
Network applications which can make use of as much or as little throughput as happens to be available.
What is P2P architecture?
No reliance on dedicated servers but relies on direct communication between pairs of intermittently connected hosts (peers).
Is there a handshaking process with UDP?
No, UDP is connectionless.
Does an application developer change the underlying network architecture?
No, the application developer sees the network architecture as fixed.
Does UDP implement congestion control?
No, there is no congestion control mechanism.
What is HTTP response time per object?
One RTT to initiate connection, one for HTTP request, object/file transmission time. Non-persistent HTTP response time = 2RTT + file transmission time
What is the three way handshake of TCP connections?
Process knocks on the welcoming door of the server, server creates a new socket, now there's a new socket dedicated to that particular client.
What is a process?
Programs that communicate (according to OS jargon)
What is a security requirement?
Provides a security service, such as encryption of data. Provides confidentiality between two processes.
Why were web caches deployed?
Reduce the response time for a client request. Reduce traffic on an institutions access link to the internet. It decreases the access delay. It's also lower cost compared to increasing access link.
How would you get your information into the DNS system?
Register name at a DNS registrar, create autoritative server locally with given IP address (Type A record and Type MX record)
What are RFC's?
Request For Comments, e.g. HTTP
What does the HEAD method do?
Requests headers that would be returned if specified URL were requested.
What is a timing guarantee?
Requirement which pertains to how long it takes to receive a bit after it's been sent (i.e. latency).
What is RTT?
Round-trip time. The time it takes for a small packet to travel from client to server and then back to the client.
What is SSL?
Secure socket layer. A more secure enhancement of TCP.
What is a compelling feature of P2P architectures?
Self-scalability
What is the benefit of having a persistent HTTP connection?
Server leaves connection open after sending response. Subsequent messages are sent over connection Client sends requests as soon as it encounters referenced objects As little as one RTT for all referenced objects.
What are web caches?
Servers which satisfy client requests without involving origin server. If the object is not in cache, then it requests the object from the origin server, caches it then returns it to client.
What are cookies?
Small pieces of information that allow sites to keep track of users.
What type of connection protocol would be appropriate for internet telephony?
TCP since it has reliable data transfer.
What are the two transport services provided by the internet?
TCP/UDP
What does the Connection: close header line do?
Tells server it's not interested in maintaining persistent connections.
Where do you find the request line of a HTTP message?
The first line.
What is throughput?
The measure of the transfer of bits/sec (r bits/sec).
What is a client?
The process that initiates communication.
What is a server?
The process that waits to be contacted to begin the session.
What is a full-duplex connection, and where can we find one?
Two processes can send messages to each other over the connection at the same time, we can find it in TCP connections.
What does the PUT method do?
Uploads new file (object) to the server.
What is the solution to a single server handling all the requests of a server.
Use a data center with a large number of hosts.
What does the POST method do?
User input sent from client to server in entity body of HTTP message.
What is HTTP?
Web's application-layer protocol. It defines how web clients request web pages from web servers.
What is reliable data transfer service?
When one side of the application passes a stream of bytes, we can rely on TCP to deliver the same stream without duplicates or missing bytes.
Can an application be both P2P and client-server?
Yes, e.g. servers are used to track IP addresses of users, but user-to-user messages are sent directly between hosts.