Created by Zenos Pavlakou
over 6 years ago
|
||
Question | Answer |
Why are networks layered? | To create a system that can scale and adapt to changes. This is achieved by assigning explicit functionality to specific layers. These layers present themselves to other layers as black boxes that support a well specified service model. Each layer can only access the layer above. |
What is the order of layers (Internet protocol stack) starting from Top-Down? | Application Transport Network Link Physical |
What is the application layer for? | The application layer is for supporting network applications such as: FTP, SMTP & HTTP. |
What is the transport layer for? | The transport layer is for process-process data transfer such as: TCP & UDP. |
What is the network layer for? | The network layer is in charge of routing datagram packets from source to destination. |
What is the link layer for? | The link layer handles data transfer between neighboring network elements such as: Ethernet, WiFi, and PPP. |
What is the physical layer? | Not important! |
Why do packets get encapsulated? | The reason packets get encapsulated is because computer networks are layered and each layer can only communicate with the layer below. So from source to destination, the source node will create a message M which will be first communicated to the transport layer below (a transport layer header is added). The transport layer will do exactly the same and adds a network header. Then from the network layer a link header is added. When the packet reaches the destination, the packet is passed up the layers and the headers are removed each time. |
What layers is a switch capable of handling? | A switch can only handle the link and physical layer. |
What layers is a router capable of handling? | A router can handle the network, link and physical layer. |
What is meant by layer 2 & 3 devices? | A layer 2 device is a switch and a layer 3 device is a router. This is because switches can only handle the first two layers of the Internet stack protocol and routers can handle the first 3 layers. |
What are some examples of network applications? Name at least 5. | e-mail, web, social networking, P2P file sharing, text messaging, remote login, streaming stored video (Youtube, Netflix), search (Google), voice over IP (Skype). |
What is the process of creating a network application? | Writing a program which runs on end systems (i.e. PCs and smart phones) which can communicate over a network. For example a web server software which communicates with a browser. There is no need to write software for network-core devices (i.e. hubs, switches, or routers) because network-core devices do not run user applications. |
What is the client-server architecture? | The server is always running with a permanent IP address. Servers are typically used in data centers for scaling. The client communicates with the server and may be intermittently (unconsistenly) connected. The IP address of the client can be dynamic and clients do not communicate directly with each other. |
What is an IP address? | An IP address is a unique identifier for a network interface. |
What is the P2P architecture? | A P2P architecture does not consist of some centralized server. In this type of system end systems (peers) can communicate with each other directly. Peers request service from other peers and provide services in return to other peers making the system more scalable, (much like BitTorrent). Peers are intermittently connected and can change IP addresses. ISP friendly, secure. |
In client-server architecture, what is meant by the client process and server process? | The client process is the process which initiates communication with the server. The server process is the process which waits to be contacted by a client. |
How do client processes and server processes work in P2P architectures? | Applications with P2P architectures have client processes & server processes running in a single program so peers are both clients and servers. |
What are sockets used for? | Sockets are used for sending / receiving messages to / from client and server. |
Why are port numbers needed when running client-server applications? | The reason port numbers are needed is because IP addresses are not enough. The IP address is mainly useful for reaching devices with specific network interfaces, but those devices may be running multiple applications, so the port number is needed for identifying the desired process. |
What are some examples of applications with well known ports? | HTTP server: 80 mail server: 25 |
What does the application layer protocol define? | Types of messages exchanged (e.g., request, response) Message syntax (i.e., what the fields are in the message and the fields are described) Message semantics (i.e., meaning of information in the message, like get and delete requests) Rules for when and how processes send & respond to messages (i.e. Stop & Wait, and Go Back N) |
What transport services do web applications need? | Data integrity Some apps such as FTP and TFTP require 100% reliable data transfer. Other apps such as steaming video and audio can tolerate some loss. Timing Some applications (e.g, Internet telephony, interactive online games) are very sensitive to timing and require low delay to be "effective". Throughput Some apps (e.g, multimedia) require minimum amount of throughput to be "effective". Other apps ("elastic apps") make use of whatever throughput they get. Security Encryption, data integrity, ... |
Transport service requirements: common apps. This is not a question. |
Image:
S (binary/octet-stream)
|
What are the properties of TCP? | Reliable transport between sending and receiving processes. Flow control: sender won't overwhelm receiver. Congestion control: throttle (or limit) sender when network overloaded. Does not provide: timing, minimum throughput guarantee or security. Connection-oriented: setup required between client and server processes. |
What are the properties of UDP? | Unreliable data transfer between sending and receiving processes. does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security or connection setup. |
What are the three major components of electronic mail? | User agents Mail servers Simple Mail Transfer Protocol (SMTP) |
When it comes to electronic mail, what is a user agent component? | A user agent is something like Outlook, iPhone mail client. It is essentially an application and running process that is then connected whenever required to the rest of the world to an SMTP server and communicates with the server using a socket. SMTP servers listen to port 25. |
Describe mail servers. | Mailbox contains incoming messages for user. Message queue of outgoing (to be sent) mail messages. SMTP protocol between mail servers to send email messages (i.e. client: sending mail server, and "server": receiving mail server) |
Which transfer protocol does SMTP use? | SMTP uses TCP to reliably transfer email messages from client to server, port 25. |
What are the three phases of the SMTP protocol for transfers? | Handshake (greeting) transfer of messages closure |
Which encoding format must SMTP messages be formed of? | Messages must be in 7-bit ASCI. |
SMTP scenario. This is not a question. FYI UA stands for User Agent. |
Image:
S (binary/octet-stream)
|
Sample SMTP interaction. This is not a question. |
Image:
S (binary/octet-stream)
|
What does IMF stand for? | Internet Message Format |
What is the Internet Message Format? | The Internet Message Format defines the structure of an email. This includes: the header lines (i.e., sender, recipient & subject) and the body of the email (ASCII characters only) |
Mail access protocol. This is not a question. |
Image:
S (binary/octet-stream)
|
What does POP stand for? | Post Office Protocol. |
What does IMAP stand for? | Internet Mail Access Protocol. |
The POP3 protocol |
Image:
S (binary/octet-stream)
|
Describe the POP3 protocol | User connects to server with user name and password, the server either accepts or rejects the client. The client can list message numbers and retrieve messages by their corresponding numbers. The client then deletes the message when finished and then quits. |
Describe the IMAP protocol | IMAP is a much more complex and modern protocol than POP3. IMAP keeps all messages in one place: at the server. This protocol also allows users to organise messages in folders (at the server). IMAP also keeps user state across sessions (names of folders and mappings between message IDs (emails) and folder names). Users can also get parts of a multi-part message, i.e., viewing an email without any pictures which have been included. |
e-mail over HTTP. |
Image:
S (binary/octet-stream)
|
What does MIME stand for? | Multipurpose Internet Mail Extensions. |
What is the difference between sending an email directly from an SMTP client (i.e., Thunder Bird) and from a browser (Gmail)? | When sending an email through a browser, communication first occurs with a HTTP server which then forwards the message to an SMTP server. When sending an email with a SMTP clientt, the communication with the HTTP server is bypassed. |
Describe MIME | An Internet standard that extends the format of email to support: text in character sets other than ASCII, non-text attachments (audio, video, images, ...), and message bodies with multiple parts. All human-written Internet email is transmitted via SMTP in MIME format. MIME is designed for SMTP but mostly used in HTTP. Content-type: text/plain, multipart/mixed, image/jpeg, audio/mp3, video/mp4 and application/msword. |
What is a web page and what does it consist of? | A web page consists of objects. These objects can be HTML files, CSS, JavaScript, JPEG images, Java applets, audio files, ... Web pages also consist of a "base HTML-file" which includes several referenced objects. |
How are web pages fetched? | Web pages are fetched using the Hypertext Transfer Protocol (HTTP). |
Describe the client-server HTTP model. | Client: browser that requests, receives and "displays" Web objects. Server: Web server sends objects in response to requests from clients. |
If a base HTML-file contains references to other URLs, what happens? | The equivalent amount of HTTP requests are made. So if the base HTML-file contains 5 URLs, then 5 more HTTP requests are made. |
Is HTTP stateless? Explain answer. | Yes because the server does not maintain information about past client requests. |
Does HTTP use UDP or TCP? Explain the process. | HTTP uses TCP. The client initiates a TCP connection to the server on port 80. The server then accepts the TCP connection from the client. After that HTTP messages are exchanged between browser and server. Finally the TCP connection is closed. |
What does RTT stand for? | Round Trip Time. |
Define what RTT is. | The RTT or Round Trip Time is the time for a small packet to travel from client to server and back. |
Non-persistent HTTP: response time |
Image:
S (binary/octet-stream)
|
Describe some of the fundamental issues with non-persistent HTTP. | Requires 2 RTTs per object. OS overhead for each TCP connection. Browsers often open parallel TCP connections to fetch referenced objects in the base HTML-file. |
Describe some of the advantages of persistent HTTP. | Server leaves connection open after sending response. Subsequent HTTP messages between same client / server sent over open connection. Client sends requests as soon as it encounters a referenced object. |
HTTP request message. |
Image:
S (binary/octet-stream)
|
HTTP/1.0 & HTTP/1.1 method types. |
Image:
S (binary/octet-stream)
|
HTTP response message. |
Image:
S (binary/octet-stream)
|
What can cookies be used for? | Authorization Shopping carts Recommendations (Facebook adds) User session state (Web e-mail) |
What is a Web cache? | A web cache (or HTTP cache) is an information technology for the temporary storage (caching) of web documents, such as HTML pages and images, to reduce server lag. A web cache system stores copies of documents passing through it; subsequent requests may be satisfied from the cache if certain conditions are met |
What are the advantages of Web caching? | Reduces response time for client requests. Reduces traffic on an institution's access link. Internet dense with caches: enables content providers to effectively deliver content (so too does P2P file sharing) |
How is it that caches act both as client and server? |
Server for original requesting client.
Client to origin server.
Image:
S (binary/octet-stream)
|
What is an ISP? | Internet Service Provider. |
Conditional GET (Web caching) |
Image:
S (binary/octet-stream)
|
What does DNS stand for? | Domain name system. |
What is a DNS? | A DNS is a distributed database implemented in a hierarchy of many name servers. A DNS is an application-layer protocol which host queurey to resolve the mapping of URL to IP address. |
Distributed hierarchy of DNS |
Image:
S (binary/octet-stream)
|
What does TLD stand for? | Top-level domain. |
What is the purpose of TLD servers? | Responsible for com, org, net, edu, aero, jobs, museum, and all top-level country domains, e.g.: uk, fr, ca, jp, cy. |
TLD, authoritative servers. |
Image:
S (binary/octet-stream)
|
What are authoritative DNS servers? | An organization's own DNS server(s), providing authoritative hostname to IP mappings for organization's named hosts. Can be maintained by organization or service provider. |
Local DNS name server. |
Image:
S (binary/octet-stream)
|
In regards to DNS, what is an iterative query? |
Image:
S (binary/octet-stream)
|
What are the four different types of DNS servers? | Local DNS server (not part of the distributed hierarchy). Root DNS server. TLD DNS server. Authoritative DNS server. |
How are local DNS servers optimized? | Web caching. |
In regards to DNS, what is a recursive query? |
Image:
S (binary/octet-stream)
|
What does TTL stand for? | Time to live. |
How do local DNS servers update cache records? |
Image:
S (binary/octet-stream)
|
What does RDT stand for? | Reliable data transfer. |
What does UDT stand for? | Unreliable data transfer. |
How does RDT work? | The invocation of RDT is made by a program that runs on the application layer when data is to be transfered from one end device to another. For this to happen, RDT invokes UDT to send data across an unreliable channel to the destination end device. |
How does UDT work? | UDT is typically invoked by the RDT function when a client makes a request on the application layer. UDT transfers data across an unreliable channel to the receiver. |
Reliable data transfer. |
Image:
S (binary/octet-stream)
|
What is the port number of TCP? | 3457 |
Explain some of the properties of TCP. | 1) Point-to-point protocol. 2) Reliable in-order byte stream. 3) Pipelined (congestion and flow control set window size). 4) Full duplex data (bi-directional data flow in same connection) 5) Connection-oriented. 6) Flow controlled (sender will not overwhelm receiver) |
What is meant by a point-to-point protocol? | There can only be a single sender and single receiver. |
How are the window sizes of Go-Back-N and Selective Repeat set? | TCP congestion and flow control set the window size. Therefore the window size is dynamic. |
How are sequence numbers set in TCP? | Byte stream "number" of first byte in segment's data. |
How are ACKs made with TCP? | With the sequence number of the next byte expected from other side. ACKs are also cumulative. |
Does TCP use cumulative ACKs? | Yes |
How are retransmissions handled in TCP? | There is a single retransmission timer. |
What causes retransmissions in TCP? | Timeout events. Duplicate ACKs. |
How should timeouts be set in TCP? | 1) The timeout should be longer than the RTT. 2) Timeout should not be too short as it would result in too many retransmissions. 3) Not too long because there would be a slow reaction to segment loss. |
How can RTT be estimated? | SampleRTT: Measured time from segment transmission until ACK receipt. Constantly take the average of SampleRTTs. Exponential weighted moving average! |
What may be an indication of network congestion in TCP? | When a timeout occurs. |
What properties of Go-Back-N and Selective Repeat does TCP use? | 1) TCP uses cumulative ACKs. (GBN) 2) Out-of-order segments are not individually ACKed. |
What is the form of an IP address? | An IP address is made up of two parts. The first part is the network ID and the second is the host ID. |
What is meant by throughput? | The amount of data per second that can be transferred. |
What are the 4 main types of delays a packet can suffer from when traveling from source to destination in a packet switching transfer protocol? | Nodal processing Queuing Transmission Propagation |
What is meant by the processing delay of a packet? | The time required to examine the packet's header and determine where to direct the packet. |
What is meant by the queuing delay of a packet? | At the queue, the packet experiences a queuing delay as it waits to be transmitted onto the link. If the queue is empty, then there will be 0 queuing delay. |
What is meant by the transmission delay of a packet? |
Image:
S (binary/octet-stream)
|
What is meant by the propagation delay of a packet? |
Image:
S (binary/octet-stream)
|
What is the primary role of routers? | To forward datagram packets from input links to output links. |
In TCP how does a sender increase transmission rate (window size), probing for usable bandwidth until loss occurs? |
Image:
S (binary/octet-stream)
|
In regards to TCP, what does MSS mean? | Maximum Segment Size (or window size) |
What is meant by slow start in regards to TCP? |
Image:
S (binary/octet-stream)
|
What is fair and unfair in regards to TCP? | TCP is fair because all TCP connections will eventually balance out in regards to bandwidth due to additive increase and multiplicative decrease of the congestion window. What makes it unfair is that some web applications may use more TCP connections than others, which is something the protocol cannot overcome. |
What do routers do? | Routers forward datagram packets (using a local forwarding table) and also find the path to send packets using routing algorithms. |
What is the difference between forwarding and routing? | Forwarding is local and routing is distributed. Forwarding uses a forwarding table, while routing alters the forwarding table. |
What do virtual circuits do? | Virtual circuits provide a connection service from host to host (used for TCP) |
What are datagram networks? | Connectionless networks (used by UDP) |
What is ICMP and what is it used for? | Internet Control Message Protocol. Used for error reporting and router "signaling". |
What type of service does the network layer provide? | Best effort service. |
What does the best effort service of the network provide? | No guarantee for bandwidth, loss, order, timing or congestion feedback. |
How do routers decide which link interface to forward a packet to based on the IP address of the packet? |
Image:
S (binary/octet-stream)
|
What determines how long a datagram packet lives in the network before reaching its destination? | The time to live field (max number of remaining hops) which is just 1 byte so 255 hops. Each time a router forwards a packet this field is decremented. This prevents packets from looping endlessly in the network. |
IP datagram format. |
Image:
S (binary/octet-stream)
|
What does BGP stand for? | Border gateway protocol. |
What does BGP do. | Keeps track of a network of subnets from different ISPs and links them together in order to have some idea of the shortest path for a packet to reach its destination (this depends on many variables and does not always find the best solution). |
What is a subnet mask? | A bitwise and operation which takes place in the router in order to quickly determine which subnet to forward a packet to. The bitwise operation takes place with the network class (i.e. 255.255.255.192) and the destination IP address. |
When it comes to links, what is meant by MTU? | An MTU is a maximum transmission unit specifying the maximum bytes it can handle. If a datagram packet exceeds this threshold, then the datagram is fragmented into smaller datagram packets. It is up to the transport layer to reassemble them. |
What does NAT stand for? | Network address translation. |
What does NAT do and how does it work? | NAT essentially multiplexes IP addresses. It does so by creating mappings of source IP and source ports to manipulated outgoing source IP addresses and ports which fit in with the organisations IP address space. |
Want to create your own Flashcards for free with GoConqr? Learn more.