Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

ECE 3325 (EXAM 2) 1

QuestionAnswer
UDP client-side socket actions. Match the general client-side action stated with the specific UDP socket-related action that implements it: Create a socket. Use the call socket(AF_INET, SOCK_DGRAM)
2.7-1 UDP client-side socket actions. Match the general client-side action stated with the specific UDP socket-related action that implements it: When sending to the server, this is how a specific server is identified. The client explicitly includes the destination IP address and port #, when sending
2.7-1 UDP client-side socket actions. Match the general client-side action stated with the specific UDP socket-related action that implements it: Send to server, using this socket. Send using the socket created using socket(AF_INET, SOCK_DGRAM)
2.7-2 UDP server-side socket actions. Match the general server-side action stated with the specific UDP socket-related action that implements it: Create a socket. Use the call socket(AF_INET, SOCK_DGRAM)
2.7-2 UDP server-side socket actions. Match the general server-side action stated with the specific UDP socket-related action that implements it: When sending to a client, this is how a specific client is identified. The client explicitly includes the destination IP address and port #, when sending
2.7-2 UDP server-side socket actions. Match the general server-side action stated with the specific UDP socket-related action that implements it: Send to client, using this socket. Send using the socket created using socket(AF_INET, SOCK_DGRAM)
2.7-2 UDP server-side socket actions. Match the general server-side action stated with the specific UDP socket-related action that implements it: When sending to the client, this is how the server knows the client IP address and port number. The server determines the client IP address and port # from an earlier datagram sent by this client.
2.7-3 TCP client-side socket actions. Match the general client-side action stated with the specific TCP socket-related action that implements it: Create a socket. Use the call socket(AF_INET, SOCK_STREAM)
2.7-3 TCP client-side socket actions. Match the general client-side action stated with the specific TCP socket-related action that implements it: When sending to a server, this is how a specific server is identified. The client uses connect() to explicitly bind its socket to specific server, and so the server IP address and port number need not be explicitly stated in a send operation.
2.7-3 TCP client-side socket actions. Match the general client-side action stated with the specific TCP socket-related action that implements it: Send to server, using this socket. Send using the socket created using socket(AF_INET, SOCK_STREAM)
2.7-4 TCP server-side socket actions. Match the general server-side action stated with the specific TCP socket-related action that implements it: Create a socket. Use the call socket(AF_INET, SOCK_STREAM)
2.7-4 TCP server-side socket actions. Match the general server-side action stated with the specific TCP socket-related action that implements it: When sending to a client, this is how a specific client is identified. As the result of an accept(), a new socket is created, which binds the client that made the corresponding connect() and server together via this new socket without the need to to explicitly specify the destination IP address and port # when sending.
2.7-4 TCP server-side socket actions. Match the general server-side action stated with the specific TCP socket-related action that implements it: Send to server, using this socket. Send using a socket not explicitly created via a call to socket()
2.1-1 The client-server paradigm. Which of the characteristics below are associated with a client-server approach to structuring network applications (as opposed to a P2P approach)? HTTP uses this application structure! There is a server that is always on! There is a server with a well known server IP address!
2.1-2 The peer-to-peer (P2P) paradigm. Which of the characteristics below are associated with a P2P approach to structuring network applications (as opposed to a client-server approach)? A process requests service from those it contacts and will provide service to processes that contact it! There is not a server that is always on!
2.1-3 UDP service. When an application uses a UDP socket, what transport services are provided to the application by UDP? Check all that apply. Best effort service. The service will make a best effort to deliver data to the destination but makes no guarantees that any particular segment of data will actually get there.
2.1-4 TCP service. When an application uses a TCP socket, what transport services are provided to the application by TCP? Check all that apply. (3 answers) Congestion control. The service will control senders so that the senders do not collectively send more data than links in the network can handle.
2.1-4 TCP service. When an application uses a TCP socket, what transport services are provided to the application by TCP? Check all that apply. (3 answers) Flow Control. The provided service will ensure that the sender does not send so fast as to overflow receiver buffers.
2.1-4 TCP service. When an application uses a TCP socket, what transport services are provided to the application by TCP? Check all that apply. (3 answers) Loss-free data transfer. The service will reliably transfer all data to the receiver, recovering from packets dropped in the network due to router buffer overflow.
2.2-1 “HTTP is stateless.” What do we mean when we say “HTTP is stateless”? In answering this question, assume that cookies are not used. Check all answers that apply. An HTTP server does not remember anything about what happened during earlier steps in interacting with this HTTP client.
2.2-2 HTTP cookies. What is an HTTP cookie used for? A cookie is a code used by a server, carried on a client’s HTTP request, to access information the server had earlier stored about an earlier interaction with this Web browser.
2.2-3 The HTTP GET. What is the purpose of the HTTP GET message? The HTTP GET request message is used by a web client to request a web server to send the requested object from the server to the client.
2.2-4 Conditional HTTP GET. What is the purpose of the conditional HTTP GET request message? To allow a server to only send the requested object to the client if this object has changed since the server last sent this object to the client.
2.2-9 Why Web Caching? Which of the following are advantages of using a web cache? Select 2 answers. Caching generally provides for a faster page load time at the client, if the web cache is in the client’s institutional network, because the page is loaded from the nearby cache rather than from the distant server.
2.2-9 Why Web Caching? Which of the following are advantages of using a web cache? Select 2 answers. Caching uses less bandwidth coming into an institutional network where the client is located, if the cache is also located in that institutional network.
2.2-10 HTTP/2 versus HTTP/1.1. Which of the following are changes between HTTP 1.1 and HTTP/2? Note: 2 answers HTTP/2 allows a large object to be broken down into smaller pieces, and the transmission of those pieces to be interleaved with transmission, thus preventing a large object from forcing many smaller objects to wait their turn for transmission
2.2-10 HTTP/2 versus HTTP/1.1. Which of the following are changes between HTTP 1.1 and HTTP/2? Note: 2 answers HTTP/2 allows objects in a persistent connection to be sent in a client-specified priority order.
2.2-11 What's in an HTTP reply? Which of the following pieces of information will appear in a server’s application-level HTTP reply message? (Check all that apply.) A response phrase associated with a response code A response code A response phrase associated with a response code
2.2-12 If-Modified-Since. What is the purpose of the If-Modified-Since field in a HTTP GET request message To indicate to the server that the client has cached this object from a previous GET, and the time it was cached.
2.2-13 Cookies. What is the purpose of a cookie value in the HTTP GET request? The cookie value itself doesn't mean anything. It is just a value that was returned by a web server to this client during an earlier interaction.
2.3-2 Comparing and contrasting HTTP and SMTP (1). Which of the following characteristics apply to HTTP only (and do not apply to SMTP)? Uses server port 80. (1) Operates mostly as a “client pull” protocol. Uses a blank line (CRLF) to indicate end of request header.
2.3-3 Comparing and contrasting HTTP and SMTP (2). Which of the following characteristics apply to SMTP only (and do not apply to HTTP)? Operates mostly as a “client push” protocol. (2) Uses CRLF.CRLF to indicate end of message. Uses server port 25.
2.3-4 Comparing and contrasting HTTP and SMTP (3). Which of the following characteristics apply to both HTTP and SMTP? Note: check one or more of the characteristics below. Is able to use a persistent TCP connection to transfer multiple objects. (3) Has ASCII command/response interaction, status codes.
2.3-5 Which e-mail protocol? Match the functionality of a protocol with the name of a the email protocol (if any) that implements that functionality: Pushes email from a mail client to a mail server. SMTP
2.3-5 Which e-mail protocol? Match the functionality of a protocol with the name of a the email protocol (if any) that implements that functionality: Pulls mail from one mail server to another mail server. Neither SMTP nor IMAP does this.
2.3-5 Which e-mail protocol? Match the functionality of a protocol with the name of a the email protocol (if any) that implements that functionality: Pulls email to a mail client from a mail server. IMAP
2.4-1 DNS functions. Match the function of a server to a given type of DNS server in the DNS server hierarchy: Provides authoritative hostname to IP mappings for organization’s named hosts. Authoritative DNS server
2.4-1 DNS functions. Match the function of a server to a given type of DNS server in the DNS server hierarchy: Replies to DNS query by local host, by contacting other DNS servers to answer the query. Local DNS server
2.4-1 DNS functions. Match the function of a server to a given type of DNS server in the DNS server hierarchy: Responsible for a domain (e.g., *.com, *.edu); knows how to contact authoritative name servers. Top Level Domain (TLD) servers
2.4-1 DNS functions. Match the function of a server to a given type of DNS server in the DNS server hierarchy: Highest level of the DNS hierarchy, knows how to reach servers responsible for a given domain (e.g., *.com, *.edu). DNS root servers
2.4-2 Why does the DNS perform caching? What is the value of caching in the local DNS name server? Check all that apply. DNS caching provides for faster replies, if the reply to the query is found in the cache. DNS caching results in less load elsewhere in DNS, when the reply to a query is found in the local cache.
2.4-3 What's in the DNS type A resource record? What information does the type “A” resource record hold in the DNS database? Check all that apply. A hostname and an IP address.
There are millions of such local DNS caches across the Internet. For a given Internet name, will the name-to-address translation pair stored in these local caches always be the same (i.e., are the contents of the local caches synchronized)? No. Caches are not always synchronized; local cache entries time out, prompting DNS hierarchy queries. Changes in name-to-address mapping in DNS may take time to propagate to local caches, leading to potential disparities in translation pairs.
We saw that a local DNS cache will respond immediately to a client when... ...the local DNS has the name-to-address translation in its local cache
2.4-7 The local DNS server. Check all of the phrases below that state a true property of a local DNS server. (1) The local DNS server record for a remote host is sometimes different from that of the authoritative server for that host. (1)
2.4-7 The local DNS server. Check all of the phrases below that state a true property of a local DNS server. (2) The local DNS server can decrease the name-to-IP-address resolution time experienced by a querying local host over the case when a DNS is resolved via querying into the DNS hierarchy. (2)
2.6-1 CDNs. What approach is taken by a CDN to stream content to hundreds of thousands of simultaneous users? Store/serve multiple copies of videos at multiple geographically distributed site
2.6-2 Streaming video definitions. Match the definition/function of an element or approach in a networked streaming video system: A unit of video, each of which may be encoded at multiple different rates, stored in different files. Chunk
2.6-2 Streaming video definitions. Match the definition/function of an element or approach in a networked streaming video system: A file containing the location and encoding rate of files corresponding to video segments in a video. Manifest
2.6-2 Streaming video definitions. Match the definition/function of an element or approach in a networked streaming video system: An approach that allows a client to adapt the encoding rate of retrieved video to network congestion conditions. DASH
2.6-2 Streaming video definitions. Match the definition/function of an element or approach in a networked streaming video system: A CDN approach that stores content in access networks, close to clients. Enter deep
2.6-3 What is DASH? In DASH (Dynamic, Adaptive Streaming over HTTP), a server divides a video file into chunks that ... ...are stored, each encoded at multiple rates (video quality). The client plays the video chunk-by-chunk, with each chunk requested at encoding rate that fits the available bandwidth at the time.
2.6-4 Manifest file. What is the purpose of a manifest file in a streaming multimedia setting? To let a client know where it can retrieve different video segments, encoded at different rates
2.7-3 Server reply (UDP). How does the networked application running on a server know the client IP address and the port number to reply to in response to a received datagram? The application code at the server determines client IP address and port # from the initial segment sent by client, and must explicitly specify these values when sending into a socket back to that client.
3.02-3 TCP multiplexing and demultiplexing (c). Which of the following datagram and segment header fields are used, when demultiplexing data up to a TCP socket? Source and destination IP addresses, and source and destination port numbers.
3.1-1 Location of transport-layer functionality. Where is transport-layer functionality primarily implemented? Transport layer functions are implemented primarily at the hosts at the “edge” of the network.
3.1-2 Transport-layer functionality. True or False: The transport layer provides for host-to-host delivery service? True.
3.1-3 Transport layer services using TCP. Check all of the services below that are provided by the TCP protocol. (1) A flow-control service that ensures that a sender will not send at such a high rate so as to overflow receiving host buffers. A congestion control service to ensure that multiple senders do not overload network links.
3.1-3 Transport layer services using TCP. Check all of the services below that are provided by the TCP protocol. (2) A byte stream abstraction, that does not preserve boundaries between message data sent in different socket send calls at the sender. Reliable data delivery. In-order data delivery
3.1-4 Transport-layer services using UDP. Check all of the services below that are provided by the UDP protocol A message abstraction, that preserves boundaries between message data sent in different socket send calls at the sender.
The transport layer sits on top of the network layer, and provides its services using the services provided to it by the network layer. Thus it’s important that we know what is meant by the network layer’s “best effort” delivery service. In particular, it does not guarantee segment delivery, it does not guarantee orderly delivery of segments, and it does not guarantee the integrity of the data in the segments.
The network layer’s best-effort delivery service means that IP makes its “best effort” to deliver segments between communicating hosts, but it makes no guarantees. Correct! The network layer’s best effort service doesn’t really provide much service at all, does it?
3.2-1 Transport-layer demultiplexing. What is meant by transport-layer demultiplexing? Receiving a transport-layer segment from the network layer, extracting the payload (data) and delivering the data to the correct socket.
3.2-2 Transport-layer multiplexing. What is meant by transport-layer multiplexing? Taking data from one socket (one of possibly many sockets), encapsulating a data chuck with header information – thereby creating a transport layer segment – and eventually passing this segment to the network layer.
When multiple UDP clients send UDP segments to the same destination port number at a receiving host, those segments (from different senders) will always be directed to the same socket at the receiving host. True: UDP demultplexing happens solely on the basis of destination port number. Thus, segments with the same destination port number at a host will have their data demultiplexed to the same socket.
When multiple TCP clients send TCP segments to the same destination port number at a receiving host, those segments (from different senders) will always be directed to the same socket at the receiving host. False: TCP demultiplexes on the basis of four values (a 4-tuple): source and destintation port number, source and destination IP addresses.
if two segments come from different IP addresses or have different source ports numbers their payload will be demultiplexed to different sockets, even if the destination port numbers are the same.
3.2-5 Multiplexing UDP with identical port numbers. True or False: It is possible for two UDP segments to be sent from the same socket with source port 5723 at a server to two different clients. True: application-layer program explicitly specifies the destination host IP address and port number when sending into a UDP socket, and that a single UDP socket (with a given source port number) can therefore be used to send to multiple UDP clients.
3.2-6 Multiplexing TCP with identical port numbers. True or False: It is possible for two TCP segments with source port 80 to be sent by the sending host to different clients. True: Recall that two different processes may have different sockets, both associated with the same local port number on a host
if there are two sockets with the same local port number, how is it that when segments arrive for that host, that data is demultiplexed to the correct port? TCP demultiplexing happens on the basis of four values (source and destination port numbers, and IP addresses) rather than just on the basis of the destination port number, as is done for UDP.
On the sending side, the UDP sender will take each application-layer chunk of data written into a UDP socket and send it in a distinct UDP datagram. True: UDP preserves application-defined message boundaries. That is, when a sending application passes a chunk of data into a UDP socket, that chunk of data (should it be received) will be presented as a unit of data at the receiving socket.
on the receiving side, UDP will deliver a segment’s payload into the appropriate socket, preserving the application-defined message boundary. True: UDP preserves application-defined message boundaries. That is, when a sending application passes a chunk of data into a UDP socket, that chunk of data (should it be received) will be presented as a unit of data at the receiving socket.
3.3-2 UDP header fields. Which of the fields below are in a UDP segment header? Internet checksum Source port number Destination port number Length (of UDP header plus payload)
3.3-3 UDP segment length field. Why is the UDP header length field needed? Because the payload section can be of variable length, and this lets UDP know where the segment ends.
3.3-4 Internet checksum and UDP. Over what set of bytes is the checksum field in the UDP header computed over? The entire UDP segment, except the checksum field itself, and the IP sender and receive address fields
What is a checksum? Which of the following statements are true about a checksum? A checksum is computed at a sender by considering each byte within a packet as a number, and then adding these numbers (each number representing a bytes) together to compute a sum (which is known as a checksum).
What is a checksum? Which of the following statements are true about a checksum? The sender-computed checksum value is often included in a checksum field within a packet header.
What is a checksum? Which of the following statements are true about a checksum? ++ If these two values are different then the receiver knows that one of the bits in the received packet has been changed during transmission from sender to receiver. ++
What is a checksum? Which of the following statements are true about a checksum? ++ The receiver of a packet with a checksum field will add up the received bytes, just as the sender did, and compare this locally-computed checksum with the checksum value in the packet header. ++
3.3-7 UDP Checksum: how good is it? True or False: When computing the Internet checksum for two numbers, a single flipped bit (i.e., in just one of the two numbers) will always result in a changed checksum. True
3.3-8 UDP Checksum: how good is it? True or False: When computing the Internet checksum for two numbers, a single flipped bit in each of the two numbers will always result in a changed checksum. False
3.4-6 Cumulative ACK. What is meant by a cumulative acknowledgment, ACK(n)? A cumulative ACK(n) acks all packets with a sequence number up to and including n as being received.
3.4-10 Pipelining. Which of the following statements about pipelining are true? One or more statements may be true. A pipelined sender can have transmitted multiple packets for which the sender has yet to receive an ACK from the receiver.
3.4-10 Pipelining. Which of the following statements about pipelining are true? One or more statements may be true. With a pipelined sender, there may be transmitted packets “in flight” – propagating through the channel – packets that the sender has sent but that the receiver has not yet received.
On the sending side, the TCP sender will take each application-layer chunk of data written into a TCP socket and send it in a distinct TCP segment. False: Remember that TCP’s reliability semantics is that of a reliable byte stream - that data bytes will be delivered in-order from sender to receiver.
And then on the receiving side, TCP will deliver a segment’s payload into the appropriate socket, preserving the application-defined message boundary. False: There is no notion of message boundaries in TCP’s byte-stream view of the world. This contrasts with UDP, which does preserves application-defined message boundaries.
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the port number associated with the sending socket for this TCP segment. Source port number
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains application data that was written into a socket by the sender of this TCP segment. Data (or payload).
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the index in the sender-to-receiver byte stream of the first byte of that data in the payload Sequence number
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the index in the byte stream of the next in-order byte expected at the receiver ACK number field
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: If set, this segment cumulatively ACKs all data bytes up to, but not including, the byte index in the ACK value ACK bit
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the number of available bytes in the TCP receiver’s buffer. Receiver advertised window
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the Internet checksum of the TCP segment and selected fields in the IP datagram header. Checksum
3.5-2 TCP segment format. For the given function of a field in the TCP segment, select the name of that field from the pull-down list: This field contains the number of bytes in the TCP header. Header length field
with this EWMA algorithm the value of EstimatedRTTn has no dependence on the earlier sample, SampleRTTn-1 False: If we expand the formula above, substituting the value/equation for EstimatedRTTn-1 we get: EstimatedRTTn = (1- a)*( (1- a)*EstimatedRTTn-2 + a*SampleRTTn-1) + a*SampleRTTn
with TCP’s flow control mechanism, where the receiver tells the sender how much free buffer space it has, it is not possible for the sender to send more data than the receiver has room to buffer. True
Match the description of a TCP connection management message with the name of the message used to accomplish that function: A message from client to server initiating a connection request. SYN message
Match the description of a TCP connection management message with the name of the message used to accomplish that function: A message from server to client ACKing receipt of a SYN message (establish a TCP connection with the client) SYNACK message
A message indicating that the sending side is initiating the protocol to terminate a connection. FIN message
Match the description of a TCP connection management message with the name of the message used to accomplish that function: A message sent in response to a request to terminate a connection, ACKing that the side receiving this message is also terminates FINACK message
Match the description of a TCP connection management message with the name of the message used to accomplish that function: A general purpose error message used during connection set up or tear down the connection, both sides know to shut down RESET message
3.7-1 TCP’s AIMD algorithm. Which of the following statements about TCP’s Additive-increase-multiplicative-decrease (AIMD) algorithm are true? Check all that are true. AIMD is a end-end approach to congestion control. AIMD cuts the congestion window size, cwnd, in half whenever loss is detected by a triple duplicate ACK. AIMD cuts the congestion window size, cwnd, i to 1 whenever a timeout occurs.
3.7-2 TCP’s AIMD algorithm (2). How is the sending rate typically regulated in a TCP implementation? By keeping a window of size cwnd over the sequence number space, and making sure that no more than cwnd bytes of data are outstanding (i.e, unACKnowledged). The size of cwnd is regulated by AIMD.
3.7-3 TCP’s Slowstart algorithm. Which of the following best completes this sentence: "In the absence of loss, TCP slow start increases the sending rate ... ... faster than AIMD. In fact, slowstart increases the sending rate exponentially fast per RTT."
3.7-5 TCP CUBIC. Assuming that the congestion window size, cwnd, has not yet reached Wmax, TCP CUBIC will ... (check all that apply) ... always have a window size, cwnd, and hence a sending rate, higher than that of AIMD (assuming a given window size, Wmax, at which loss would occur).
3.7-5 TCP CUBIC. Assuming that the congestion window size, cwnd, has not yet reached Wmax, TCP CUBIC will ... (check all that apply) ... increase its sending rate faster than AIMD when cwnd is far away from Wmax, but increase slower than AIMD when cwnd is closer to Wmax
HTTP/3: QUIC connection establishment. How many RTTs are needed to establish an HTTP/3 connection (i.e., before data can begin to flow between client and server) using QUIC? One RTT. Reliability, congestion control, flow control, and security parameters are established in the first two parts of the setup handshake, which takes one RTT.
3.8-2 QUIC streams. What are advantages of the streams concept in QUIC? Select all that apply. Streams allow concurrent retrieval of web objects, while avoiding Head of the Line (HOL) blocking. Since each stream has its own error control, if one stream experiences an error (e.g., lost or damaged segment), the other streams are unaffected.
3.8-3 QUIC: an application-layer protocol. What are advantages of implementing transport-layer functionality in QUIC at the application layer? Select all that apply. As an application-layer protocol, QUIC can be updated/modified at “app frequency” rather than at the frequency of operating system updates.
3.8-3 QUIC: an application-layer protocol. What are advantages of implementing transport-layer functionality in QUIC at the application layer? Select all that apply. QUIC can establish all connection parameters (security, reliability, flow and congestion control)in just one handshake rather than separately in two.
Created by: DylanCanalesMane
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards