CMPE150 Midterm Review Questions

Ace your homework & exams now with Quizwiz!

S1 In packet switching networks, resource sharing is done through...

"statistical multiplexing"

9c. You are studying for the CE 150/L midterm using one of the computers at the UCSC Science Library. During one of your breaks, you want to check out the Soccer4All.org Web site for the latest videos of the Soccer World Cup 2018 Qualifyers. You finally manage to access the Soccer World Cup 2018 Qualifyers page from the Soccer4All.org site. The page has 10 videos embedded in it. The processing/service time within the network is 10ms each way, and the one-way propagation delay is 100ms. Assume that transmission delay is negligible. What would be the response time, i.e., the time it takes between when your browser requests the page and when the videos are delivered, if your browser uses non-persistent HTTP (with no parallel connections)? Explain.

1 page with 10 videos means 11 total objects. Non-persistent HTTP means that we will need 11 requests, each one with its own TCP connection. Each request will take, (100 + 10)ms*2*2 that is two RTTs of 220ms each. So in total, we will need 4840ms or 4.84s.

Advantages of persistent connections.

1) Lower CPU and memory usage because there are less number of connections. 2) Allows HTTP pipelining of requests and responses. 3) Reduced network congestion (fewer TCP connections). 4) Reduced latency in subsequent requests (no handshaking). 5) Errors can be reported without the penalty of closing the TCP connection.

9a. You are studying for the CE 150/L midterm using one of the computers at the UCSC Science Library. During one of your breaks, you want to check out the Soccer4All.org Web site for the latest videos of the Soccer World Cup 2018 Qualifyers. What would be the steps needed before your computer at ucsc.edu can issue a request for Soccer4All.org? Assume this is the first time anyone at ucsc.edu requests contents from that Website and name resolution is done iteratively.

1. Computer sends a DNS request to the local DNS name server at UCSC 2. Local DNS name server sends DNS request to root name server 3. Root name server responds with name server for .org domain 4. Local DNS server sends DNS request to .org domain name server 5. .org domain name server replies with the address for authoritative name server for soccer4all.org 6. Local DNS server requests address from Soccer4All.org Web server's IP address 7. Soccer4All.org server requests address from Soccer4All.org authoritative name server. 8. Local DNS name server forwards the IP address to client

S1 On average, assuming the network has enough capacity, what would be the ratio between the number of packets from Alice and Bob (where Alice is sending data at 10Mbps and Bob is sending data at 1Mbps).

10:1

S1 In so-called "Big Data" applications, very large amounts of data are generated and will be transmitted over the network. Suppose you have 30 terabytes of data to transfer between a data center in Buffalo, New York and another one in Salt Lake City, Utah. You have a 150 Mbps dedicated link available for transferring the data. Is it more efficient to do the data transfer over the link or use an overnight postal delivery service?

30TB = 2.4 * 10^8 Mbps Transmission = Length / Rate Transmission = 2.4 * 10^8 / 150 = 1,600,000s = ~2.6weeks In this situation, it would be much better to use the overnight delivery service. It would take over 2 weeks to transfer the data via the 150Mbps link.

5d. List one advantage and disadvantage for DNS (compared to a centralized name service)? Explain.

Advantages: -Scalability -Fault tolerance -DNS servers also have primary and secondary connections. This allows you to have internet uptime even when one of the servers is down for maintenance. -Splits traffic up -No need for memorizing IP addresses -Security enhancement: DNS servers are an important component for the security of your home or work connections. DNS servers that have been designed for security purposes usually ensure that attempts to hack your server environment are thwarted before entry into your machines -Since you have multiple servers, if one crashed the others will be preserved Disadvantages: -It's complex and therefore doesn't scale well

5a. List one advantage and disadvantage for peer-to-peer model for networked applications (when compared to the client server model)?

Advantages: -Inexpensive, good for small networks (homes and small businesses), -Self scalability, new peers bring new service capacity (as well as demands) -The load is being shared so it takes the pressure off of one point, less reliable because your relying off of other people Disadvantages: -Management, peers are unreliable -Bad security, say one person downloads a virus, then it could impact everyone involved

5c. List one advantage and disadvantage for Layering? Explain.

Advantages: -It is decomposable and therefore effects separation of concerns and different abstraction levels -It allows good maintenance, where you can make changes without affecting layer interfaces -It helps designing, maintaining, extending complex systems -Provides the ability to change the implementation of a service/function without affecting other layers of the model Disadvantages: -For ever layer, you have to add a header and because of having too many layers, performance of the system is degraded -It is difficult to exactly assign of functionalities to the correct and appropriate layer -Additional overhead; potential for duplication of functions

5b. List one advantage and disadvantage for Web Caching? Explain.

Advantages: Fast access to "memory" since the data is already there. Reduce response time for client request. Save network and server provider resources. Disadvantages: If the data is not already there, it will take extra time to add that data to the cache. So --> Time to add to cache + time to retrieve cache. On cache miss longer response delay and potential for out of date content.

What are some advantages and disadvantages to the client server model? Explain.

Advantages: centralization, security, scalibility, accessibility (can be accessed remotely) Disadvantages: Congestion in network, robustness (if the server fails, the whole network goes down), expensive

S2 Given your answer for (1), explain how multiplexing and de-multiplexing at the transport layer works.

All packets arrive at the host specified by the IP address on the packet�s headers. The transport layer looks at the destination port number in the transport-layer header, and delivers data to the appropriate application process (the one listening on that port).

CH1 How does circuit switching reserve network resources ahead of data being send?

Allows you to reserve connection before you send your packets.

CH2 Application Models: What is "Peer to Peer"?

Also known as P2P

2b. What are "delay intolerant" applications? Give an example of a delay-intolerant Internet application.

Applications that don't allow delay in data delivery. (Still technically can allow some delay, but very minimal). Examples: Video conferencing, streaming., internet telephony

CH3 What is ARQ?

Automatic repeat request

CH1 How does packet switching reserve network resources ahead of data being send?

Basically reserving resources on demand.

8b. Two hosts X and Y are communicating over the Internet using TCP. Suppose that the TCP connection has already been opened. Some time later, X sends segments 5020 to 5025 (having received acknowledgments for all previously sent segments). Host Y receives segments 5020, 5022, 5024, and 5025. Assuming that segments that were not received were lost, draw the time diag ram for this scenario, including the acknowledgments that host Y generates assuming it uses a Go-Back-N based variant of TCP. What does host Y do with segments received out of order and which are these segments? Explain.

Because GBN (Go-Back-N) uses cumulative acknowledgements, Host Y will send 3 ACKs for segment 5020. Only after the first ACK host X will send segment 5026, for the next 3 ACKs it won't send any new segments. Once a timeout event for segment 5021 is triggered, Host X will send all segments that have been previously sent but not yet acknowledged (5021-5026). Host Y will discard any segments that were received out of order (5022, 5024, 5025, 5026). Refer to midterm review solutions for image.

7e. In class we discussed why retransmission timers are critical to the performance of reliable data transfer. Why are they set as a function of the RTT?

Because the retransmission timer needs to reflect the network's current conditions. The sender shouldn't wait needlessly to retransmit the segment if it was lost. But it also shouldn't add unnecessarily duplicate traffic if the segment is simply taking longer than usual to be delivered to the network.

S2 A single host can run multiple network application programs, e.g., a Web browser, an e-mail client, etc. How can different application programs running on the same host be uniquely identified?

By using "ports", with each port assigned to a specific application.

7c. rdt protocols can recover from two types of network losses. What mechanism(s) are used to recover from each type of loss? Explain.

Checksums for data corruption. Timers for packets dropped in transit.

S1 i. In a circuit switching network, when Alice wants to communicate with Bob, a physical "circuit" is established between Alice and Bob before any data can be sent. c. What is(are) the disadvantage(s)?

Circuit switched networks do not always make best use of available resource (i.e. resources may be under-utilized when calls are idle)

S1 i. In a circuit switching network, when Alice wants to communicate with Bob, a physical "circuit" is established between Alice and Bob before any data can be sent. b. What is(are) the advantage(s)?

Circuit switched networks provide predictable performance/quality of service.

CH1 What is circuit switching?

Circuit switching is a method of implementing a telecommunications network in which two network nodes establish a dedicated communications channel (circuit) through the network before the nodes may communicate. The circuit guarantees the full bandwidth of the channel and remains connected for the duration of the communication session. The circuit functions as if the nodes were physically connected as with an electrical circuit.

1c. Does circuit or packet switching guaranteeing uniform network quality of service during the connection?

Circuit switching will guaranteeing uniform network quality of service during the connection since they reserve resources on a per-call basis.

1b. Does circuit or packet switching utilize network resources more efficiently?

Circuit switching would be less efficient because its taking up those resources even when they are not needed. Packet switching would be more efficient because it's only taking up the resources it needs for packets since resources are use on demand.

1a. Does circuit or packet switching guaranteeing uniform network quality of service during the connection?

Circuit switching would be more consistent because that resource will be held whether you need it or not. Packet switching would not have the most uniform network quality because it's a best effort service.

9b. You are studying for the CE 150/L midterm using one of the computers at the UCSC Science Library. During one of your breaks, you want to check out the Soccer4All.org Web site for the latest videos of the Soccer World Cup 2018 Qualifyers. Immediately after you downloaded videos, another friend, Gabriela, who is also at UCSC, wants to watch the videos as well. What are the steps needed before Gabriela's request to Soccer4All.org is issued? Explain.

Computer will request the address to UCSC's local DNS name server which will reply with the proper IP address without the need to query other servers because it should have the answer in its cache.

9e. You are studying for the CE 150/L midterm using one of the computers at the UCSC Science Library. During one of your breaks, you want to check out the Soccer4All.org Web site for the latest videos of the Soccer World Cup 2018 Qualifyers. Gabriela wants to download the 10 videos. Assuming connection steps have already been done and you have already downloaded the videos, what is the average response time Gabriela will experience for each video in Seth's web page if the ucsc.edu's cache hit ratio is 60%? Suppose that the delay to access an object within ucsc.edu's network is 20ms. Assume persistent HTTP is used.

Considering the cache, the time to get to any object would be 0.60 * 20 + 0.40 * (20 + 220) = 108ms 2*(100 + 10)ms = 220ms So 220ms to start the connection, plus 108ms for each object. Thus, the total is 1408ms.

Types of Acknowledgements

Cumulative ACKS Duplicate ACKS Piggybacked ACKS

S2 For each of the Web requests below, list the sequence of steps to resolve the Web server's name. Assume names are not initially cached and name resolution is done iteratively. ii. Web client at att.com is requesting an object from www.comcast.com.

DNS client sends DNS query to att.com�s local DNS server. Local DNS NS looks up its cache. If the information is in the cache, it will reply to the client. If not, it�ll query the DNS root NS, which will reply with the .com DNS NS It will then query the .com DNS NS, and receive the records for comcast.com�s DNS NS.

S2 For each of the Web requests below, list the sequence of steps to resolve the Web server's name. Assume names are not initially cached and name resolution is done iteratively. i. Web client at att.com is requesting an object from www.ucsc.edu.

DNS client sends DNS query to att.com�s local DNS server. Local DNS NS looks up its cache. If the information is in the cache, it will reply to the client. If not, it�ll query the DNS root NS, which will reply with the .edu DNS NS It will then query the .edu DNS NS, and receive the records for ucsc.edu�s DNS NS.

Why are duplicates generated?

Due to retransmission.

S3 What are duplicate acknowledgments?

Duplicate ACKs are used by the receiver to signal out-‐of-‐order delivery of segments, which may be caused by segment(s) being lost or delayed. TCP's Fast Retransmit mechanism is triggered by 3 duplicate ACKs, which cause immediate retransmission of the supposedly lost segment. Fast Retransmits tries to avoid timeouts and the resulting reset of TCP's congestion window to 1 segment.

7a. The reliable data transfer, or rdt, protocols we covered in class provide reliable in-order data delivery with duplicate detection. What mechanism(s) used by rdt protocols cause duplicates to be generated? Explain.

Duplicates are generated due to retransmissions. Specifically: If a segment was transmitted but the segment got delayed inside of the network, the sender will time out and retransmit the segment. However, the original message will still eventually arrive to the receiver too. Thus the receiver would receive a duplicate. In order to avoid duplicates, the receiver would need to detect and delete the duplicate.

S1 Explain encapsulation and de-encapsulation in the context of the Internet's protocol stack. Do they contribute to the cost (or overhead) of transmitting and receiving information over the Internet? Explain and comment on the distinction between communication and processing overhead.

Encapsulation happens at the sender as the application message is processed by the lower layers of the Internet protocol stack on its way to be transmitted. Each layer processes the transmission unit of the layer above and adds its own header. On the receiving end, the inverse process called de-encapsulation is executed, i.e., the message flows up the protocol stack and is processed by each layer. In the process, each layer strips off its corresponding header and passes the resulting transmission unit to the layer above. Note that inside the network, encapsulation/de-encapsulation happens at every hop but only up to the network layer. Encapsulation results in both communication and processing overhead as it adds additional information that needs be carried by the network (communication overhead) and additional processing that needs to happen at each layer in order to generate or process the layer's header (processing overhead).

S2 iii. What is the main problem with caching? Explain.

Ensuring the content in the cache is up to date. Additionally, if cache miss ratios are too high, response times may end up increasing since the cache is consulted first before the request is forwarded to the origin.

6e. The original TCP protocol only retransmitted upon a time out event. Mterm-73ore modern variants of TCP use the Fast Retransmit mechanism. Explain how Fast Retransmit works and how it can improve TCP performance.

Fast retransmit is an enhancement to TCP that reduces the time a sender waits before retransmitting a lost segment. Or, in other words, Fast re-transmit is when TCP considers a packet lost after receiving a number (typically 3) of duplicate ACKS. This way, TCP doesn't have to wait for a time out event to trigger a re-transmission. By retransmitting earlier, it can try to recover more quickly and avoid the timeout.

What is Go-Back-N?

Go-Back-N ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a window size even without receiving an acknowledgement (ACK) packet from the receiver. It is a special case of the general sliding window protocol with the transmit window size of N and receive window size of 1. It can transmit N frames to the peer before requiring an ACK.

CH3 Pipelining Protocols: What are the advantages of each?

Go-back-n: Up to sender to transmitter Selective Repeat: Use if network is (reasonable) relatable since loses are rare so you Up to receiver to keep packages in order Not as sophisticated because it needs to keep track of the packets that are out of order Doesn't need to send packets that are unnecessary

S2 A Web page has 7 embedded objects. Assume that the time to transmit the page and each of its embedded objects is 20ms while the propagation delay and service time within the network combined amount to approximately 150ms. What is the total time perceived by the user between clicking on a link and having the entire object rendered if the user's browser employs: Non-persistent HTTP.

For non-persistent HTTP, you need to create a connection before requesting each object. So the time to get any object is 2 RTT. RTT = 150ms 2RTT = 300ms 2RTT + transmission time = 320ms (2RTT + transmission time)*total objects = 320ms*8 total delay = 150ms + 20ms = 170ms (150+20)ms*2*2*8 = 2560ms 2560ms = 2.56s 1 object per request 2.56s

S2 A Web page has 7 embedded objects. Assume that the time to transmit the page and each of its embedded objects is 20ms while the propagation delay and service time within the network combined amount to approximately 150ms. What is the total time perceived by the user between clicking on a link and having the entire object rendered if the user's browser employs: Persistent HTTP.

For persistent HTTP, you open a connection, then you request all objects. So you need one RTT to open the connection, plus one RTT for each object that you request. RTT * total objects = persistent HTTP total time perceived RTT = 150ms So you need one RTT to open the connection 150 + Plus one RTT for each object that you request 8 * (150ms + 20ms) Combine for 150 + (8 ∗ 170) = 1510 ms in total Multiple object per request 1.51s

CH1 What is FDM?

Frequency-division multiplexing (FDM) is a scheme in which numerous signals are combined for transmission on a single communications line or channel. Each signal is assigned a different frequency (subchannel) within the main channel.

S2 We saw in class that both HTTP and DNS use caching to improve performance. i. Explain how caching improves the performance of HTTP.

HTTP caching improves performance by trying to serve objects from caches that are �closer� to the client requesting the object. That way, response times are reduced as well as the load on the network and origin servers.

8d. Two hosts X and Y are communicating over the Internet using TCP. Suppose that the TCP connection has already been opened. Suppose the same situation described in (d), but both X and Y use a Selective-Repeat variant of TCP. What acknowledgments will Y send to X? What does Y do with out-of-order segments? Explain. And, what will X do when it gets Y's acknowledgments? Explain.

Host Y will send ACK for segments 5020, 5022, 5024, 5025. Host Y will buffer any out of order segments. Explanation: Because in SR, the receiver individually acknowledges correctly received segments, Host Y will acknowledge the receipt of segments 5020, 5022, 5024, and 5025 even though they received out of order. Host Y will buffer segments 5022, 5024, 5025, and 5026, until it receives segments 5021 and 5023. Refer to midterm review solutions for image.

S1 Suppose a scenario where Alice is sending data at 10Mbps and Bob is sending data at 1Mbps. Using your explanation of statistical multiplexing, do you expect to see more packets from Alice or more from Bob on the link they share? Explain.

I would expect to see more packets from Alice.

S3 Rdt protocols use timers to be able to react to losses in the network. What are the trade-offs in setting up the retransmission timer in rdt protocols?

If the retransmission timeout value is set too low, it may cause unnecessary retransmissions, which result in adding load to the network unnecessarily.

S2 ii. Explain how caching improves the performance of DNS.

In DNS, a DNS server may store DNS records that it recently received, in which case it can answer requests for these DNS records without needing to contact the authoritative name server.

S3 Do the TCP sender and receiver behave the same way in both scenarios? Explain.

In the case of a packet (segment) loss, the sender will timeout and retransmit the lost segment. Upon reception, the receiver will take the retransmission and send an acknowledgement. In the event of a lost ACK, the sender will also timeout and retransmit; however, the receiver will discard the duplicate segment (since it had received the original transmission) and generate another ACK.

S3 TCP assumes that packet loss is an indication of congestion. Is that a reasonable assumption for networks that use wireless links? Why or why not?

In the case of wireless networks (especially in the case of multi-hop wireless links), transmission errors may occur more often. Therefore, in these environments, assuming that losses are always due to congestion is no longer valid and may cause significant performance deterioration.

What is a piggybacked ACK?

In two-way communication, wherever a frame is received, the receiver waits and does not send the control frame (acknowledgement or ACK) back to the sender immediately. The receiver waits until its network layer passes in the next data packet. The delayed acknowledgement is then attached to this outgoing data frame. This technique of temporarily delaying the acknowledgement so that it can be hooked with next outgoing data frame is known as piggybacking.

CH1 What is the Internet's structure?

It hierarchical -Network's edge -Access networks -Network core

6g. What is the main advantage of "piggybacked" acknowledgements?

It improves network resource usage by reducing the number of control packets that need to be sent.

7d. What is the retransmission timeout, also known as RTO?

It's the amount of time the sender will wait for an acknowledgement for a transmit segment before considering that the segment was lost and starting the retransmission of that segment.

What is propagation delay?

Literally the time it takes for an electron to go over a wire, or air, whatever the channel is Thus, this delay is at the physical layer layer

2a. What are "loss-intolerant" applications? Give an example of a loss-intolerant Internet application.

Loss intolerant means the applications itself needs all the data. Examples: A big one is file transfer. Email and Web are other examples. (Still technically can allow some loss, but very minimal).

S1 The Internet is a network of networks. It is structured as a hierarchy. ii. Describe the different hierarchical levels of the Internet.

Network edge: -hosts: clients and servers -servers often in data centers Access networks, physical media: - wired, wireless communication links Network core: -interconnected routers -network of networks

6c. Suppose that the Host1 application that initiated the TCP connection has data to send to Host2. Can Host1's SYN segment carry the data? Explain.

No, Host1 needs to wait for the 3 way handshake to complete before sending data to Host2.

S1 In a computer network, what is the difference between a node and a terminal. What is a synonym for terminal?

Node - Any device in a network. Terminal - An "edge device" in a network. A synonym is a "host".

8c. Two hosts X and Y are communicating over the Internet using TCP. Suppose that the TCP connection has already been opened. When X gets Y's acknowledgments, what will it do? Explain.

Once host X receives the first package, it will compare the sequence number for the ACK with the next expected sequence number (5020). If they match, host X will restart the timer. Because, the next three ACKs (5020) don't match the next expected sequence number (5021), host X will not restart the timer which will lead to a timeout event and host X will retransmit segments 5021-5026.

S3 TCP assumes that packet loss is an indication of congestion. Is that a reasonable assumption when applied to the Internet? Why or why not?

One can argue that this assumption is a reasonable one when considering the Internet since packet losses due to transmission errors are relatively rare, as the Internet has become quite reliable as far as its underlying communication infrastructure. Furthermore, reliability implemented by data-‐link layer protocols also help recover from eventual transmission errors.

S2 HTTP uses TCP as its underlying transport protocol. i. Why do you thing the designers of HTTP picked TCP as its transport protocol?

One of HTTP�s design goals was to be a simple protocol. HTTP can use TCP to handle reliability and in-order delivery at a lower level.

4b. Another way to measure end-to-end network latency is to use the round trip time (RTT). What is the one-way trip time? Illustrate your answer with a time diagram.

One-way trip time definition: The time it takes for data to transmit across a network from the sender to the receiver. Look at midterm review solutions to double check illustration.

S1 ii. In a packet switching network, when Alice wants to communicate with Bob, no circuit is established and Alice simply starts sending data to Bob. b. What is(are) the disadvantage(s)?

Packet switched networks are "best effort" and on demand-- no guarantee about reliability or performance. Unpredictable.

CH1 Does circuit or packet switching utilize resources more efficiently?

Packet switching is more efficient since it is only taking up resources when packets need to be sent, but no guarantee that resources are there and that the packet will actually get delivered. Packets can be lost if there is a transmission error. Circuit switching is not as efficient if there are a lot of moments of idleness, but guarantees data gets delivered.

CH3 TCP Overview

Point to point -Meaning one sender, one receiver Reliable, in-order byte stream -No "message boundaries Pipelined -TCP congestion and flow control set window size Send and Receive Buffers Connection oriented protocol (whereas UDP is connection less) -Handshaking (exchange of control msgs) init's sender, receiver state before data exchange Three components that are connecting together: 1. Error control is the same thing as reliable delivery 2. Flow control 3. Congestion control A single TCP connection can have data and feedback flowing in both directions

What makes up servicing?

Processing and queing

4a. Another way to measure end-to-end network latency is to use the round trip time (RTT). What is the RTT? Use a time diagram to illustrate your explanation.

RTT definition: The time it takes for data to travel from the sender to the receiver and then back to the sender. Look at midterm review solutions to double check illustration.

RDT

Reliable data transfer -Reliable, in order, duplicate detection Mechanisms: -Seq #s -Checksums -Acks -Timers -Retransmissions The internet network layer provides only best effort service with no guarantee that packets arrive at their destination. Also, since each packet is routed individually it is possible that packets are received out of order. For connection-oriented service provided by TCP, it is necessary to have a reliable data transfer (RDT) protocol to ensure delivery of all packets and to enable the receiver to deliver the packets in order to its application layer.

Disadvantages of persistent connections.

Resources may be be kept occupied even when not needed and may not be available to others.

RTT

Round trip time, will fluctuate

6b. When Host1 initiates a TCP connection to Host2, it sends a SYN segment to Host1 As part of the SYN segment, it includes a sequence number SEQX. What is the purpose of sequence number SEQX?

SEQX will be the first sequence number that Host1 will

UDP Segment Structure

Screenshot image from lecture notes and put in

7b. What mechanism(s) used by rdt protocols detect duplicates? Explain.

Sequence numbers.

CH1 What is the just of multiplexing in one word?

Sharing

Loss tolerant application example?

Skype. Or an online game. With both of these you can lose a packet and the game will keep running.

CH1 What is statistical multiplexing?

Statistical multiplexing == sharing using the statistics of demand. It allows us to build a network for the high-end of the expected case rather than the worst case (much cheaper) at the cost of occasionally being oversubscribed.

S1 Explain what statistical multiplexing is.

Statistical multiplexing is splitting up the available bandwidth amongst the users who want to use the network at a specific time. As such, network resources are fully utilized when there is demand.

What are control packets?

TCP control packets are primarily used to establish and tear down the session. They can also be used to adjust window size that this is rarely done since that can occur within the data stream.

6a. Is TCP a full duplex data transmission?

TCP is a full duplex transmission because data can be transmitted in both directions on a signal carrier at the same time.

S3 Why does TCP use cumulative acknowledgments?

TCP primarily uses a cumulative acknowledgment scheme, where the receiver sends an acknowledgment signifying that the receiver has received all data preceding the acknowledged sequence number. TCP's cumulative acknowledgement scheme avoids generating excessive control overhead (in the form of ACK segments).

S3 In the computation of TCP's RTT, how can we make TCP more responsive to the current conditions of the network?

TCP's RTT computation uses an exponentially weighted moving average expression, which accounts for both current RTT measurements and past RTT estimates. The parameter "alpha" controls how much weight is given to current measurements over past history. In order to make TCP more responsive to current conditions, more weight can be assigned to current RTT measurements. To this end, a higher value of "alpha" can be used.

6f. TCP can "pigyyback" acknowledgments on data segments. What field(s) in the TCP segment header are used to do that? Explain.

TCP's header acknowledgement field and the ACK flag.

What is the queuing delay?

The amount of time it spends in the queue. Time to get out of queue. Waits for output link availability.

S3 In order to use cumulative acknowledgments, does the TCP receiver have to employ a timer? Explain.

The TCP receiver needs a timer for the cumulative ACK mechanism so that, in case there is no additional data being transmitted by the sender, the timer will cause a timeout and will trigger a regular ACK to be generated.

CH3 Selective Repeat

The go-back-n protocol works well if errors are less, but if the line is poor it wastes a lot of bandwidth on retransmitted frames. An alternative strategy, the selective repeat protocol, is to allow the receiver to accept and buffer the frames following a damaged or lost one. Selective Repeat attempts to retransmit only those packets that are actually lost (due to errors) : Receiver must be able to accept packets out of order. Since receiver must release packets to higher layer in order, the receiver must be able to buffer some packets.

2c. Based on your comparative analysis in Question 1, does the Internet adequately support loss-intolerant applications? And delay-intolerant applications? Explain.

The internet (tries its best to) makes sure packets arrive but does not ensure it will arrive on time so... It supports loss intolerance But it does not support delay intolerance This is because the Internet uses packet switching which cannot provide delay bound guarantees

TCP Sequence Numbers

The sequence number is the number from the last byte plus 1

6d. When Host2 replies to the SYN segment from Host2, it uses a SYN-ACK segment and also includes a sequence number SEQY. What is the purpose of SEQY? Is SEQX = SEQY? Explain.

The sequence numbers that Host1 and Host2 are at necessarily equal? No. They are random. SEQX is different then SEQY. SEQY will be the first sequence number Host2 will use when sending data to Host1.

What is the client server model?

There are an almost infinite variety of client/server networks, but all of them have a couple of things in common. For one thing, all have centralized security databases that control access to shared resources on servers. Users can't log on to the network unless they supply valid usernames and passwords to the server. Once logged on, users may access only those resources that the network administrator allows them to access. Thus, client/server networks possess much more security than do peer-to-peer networks.

S1 ii. In a packet switching network, when Alice wants to communicate with Bob, no circuit is established and Alice simply starts sending data to Bob. a. What is(are) the advantage(s)?

This fully utilizes the bandwidth available along the path between Alice and Bob. It is also more resilient to faults (e.g. if a link is severed, packets can take alternate paths)

S1 i. In a circuit switching network, when Alice wants to communicate with Bob, a physical "circuit" is established between Alice and Bob before any data can be sent. a. Why do you think this is necessary?

This is necessary because in a circuit switching network, resources must be reserved beforehand along the path that will be used to carry data between Bob and Alice.

CH1 What is TDM?

Time division multiplexing (TDM) is a communications process that transmits two or more streaming digital signals over a common channel. In TDM, incoming signals are divided into equal fixed-length time slots. After multiplexing, these signals are transmitted over a shared medium and reassembled into their original format after de-multiplexing. Time slot selection is directly proportional to overall system efficiency. Time division multiplexing (TDM) is also known as a digital circuit switched. TDM is comprised of two major categories: TDM and synchronous time division multiplexing (sync TDM). TDM is used for long-distance communication links and bears heavy data traffic loads from end users. Sync TDM is used for high-speed transmission.

What is the processing delay?

Time for node to handle packet. Checks bit errors, determines output link.

What is the transmission delay?

Time to transmit data

S3 Rdt protocols use timers to be able to react to losses in the network. What kind(s) of losses do timers help detect? Explain how they do that.

Timers help detect packet drops as follows: they are set to a value (the retransmission timeout) and, when a segment is transmitted, the timer starts counting down. When they reach 0, they trigger a "timeout" event to the sender, who then assumes the segment got lost, and retransmits it.

S1 In deep space communication scenarios, the network connection between 2 nodes in space has the following characteristics: it takes 1 minute for information to travel from A to B; between the 2 hosts, there is one router whose queuing delay is 2.5 milliseconds and processing delay 1 millisecond. The link connecting A to B is 10Mbps. i. What is the total latency to send 2MBytes of information between A and B? ii. What is the dominating factor causing latency in this scenario?

Total Delay = Processing + Queue + Transmission + Propagation Processing = 1ms Queue = 2.5ms Propagation = 60s = 60,000ms Transmission = Length / Rate Length = 2MB = 16,000,000 bits Rate = 10Mbps = 10Mbps = 10,000,000 bits/second Transmission = 16,000,000 / 10,000,000 = 1.6s i. Total Delay = 1ms + 2.5ms + 1.6ms + 60,000ms = 60005.1ms (~1.0051m) ii. The propagation delay

What is a sliding window?

Total number of segments a sender can send without having received an acknowledgement

S2 HTTP uses TCP as its underlying transport protocol. ii. What is the consequence of using TCP when considering delay?

Using TCP results in an additional RTT in order to set up the TCP connection ahead of sending data.

8a. Two hosts X and Y are communicating over the Internet using TCP. Suppose that the TCP connection has already been opened. Assume host X's window size is 6 and segments 5001 through 5006 have already been sent. Host X then receives an ACK with ACK sequence number set to 5003. Segments 5007 through 5011 are waiting to be transmitted by host X. Draw the time diagram showing this scenario including which segments, if any, X can transmit after getting the ACK with ACK sequence number set to 5003, and explain why.

When the sender receives the ACK of segment 5003, it means that the receiver received segments up to 5003 (5001-5003). This is because TCP uses cumulative acknowledgement. Because our window size is 6 and we have only 3 unacked segments, the sender will send segments 5007 to 5009. Refer to midterm review solutions for image.

Stop and wait window size?

Window size 1

S2 The Obama administration is committed to interconnect 15,000 K-12 schools to the Internet this year. Due to budget constraints, the schools can only afford connecting to the Internet through a 15Mbps link while the schools' local area networks use 100Mbps links. You were hired by the Department of Education to help design the solution to mitigate the mismatch between the access link and the local area network. Assume that the delay to retrieve an object from the Internet is on average 3 seconds, while the delay to get an object of similar size residing in the LAN is 20ms. In order to improve access time, you then decide to install a Web cache in the village's network whose hit rate is 50%. What's the average delay to access an object? Compare it to the initial "cache-less" configuration.

With cache: .5(20) + .5(3000) = 1510ms Without cache: 3000ms 1.99x speedup

9d. You are studying for the CE 150/L midterm using one of the computers at the UCSC Science Library. During one of your breaks, you want to check out the Soccer4All.org Web site for the latest videos of the Soccer World Cup 2018 Qualifyers. You finally manage to access the Soccer World Cup 2018 Qualifyers page from the Soccer4All.org site. The page has 10 videos embedded in it. The processing/service time within the network is 10ms each way, and the one-way propagation delay is 100ms. Assume that transmission delay is negligible. What would be the response time, i.e., the time it takes between when your browser requests the page and when the videos are delivered, if the browser uses persistent HTTP?

With persistent HTTP, we only need one connection. 1 + 11 RTTs RTT = total time traveled RTT * total objects = persistent HTTP total time perceived 2(100ms + 10ms) * 12 = 2640ms That is, one to establish the connection and one for each object requested, resulting in a total of: 2640ms Which is: 2*(100 + 10)ms = 220ms 220ms*12 = 2640ms

S3 Use a time diagram to show an example scenario of a premature timeout in TCP. Use a time diagram to show an example scenario of a packet loss event and how the TCP sender and receiver detect and react to it. Same for a lost acknowledgment.

[Look at the examples with did in class.]

CH3 What does "Go Back N" do?

is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of frames specified by a window size even without receiving an acknowledgement (ACK) packet from the receiver. It is a special case of the general sliding window protocol with the transmit window size of N and receive window size of 1. It can transmit N frames to the peer before requiring an ACK. It has a timer at the sender and the receiver When the timer expires, it will send an acknowledgement eventually

3b. Consider an Internet application running on two Internet hosts, Host1 and Host2, which are communicating using a path through router R. Assume that the average service time at R is 10 ms, packets are 2,000 bits long, and the propagation delay between Host1 and Host2 is 150ms. If the application running on Host1 and Host2 cannot tolerate latencies over 200ms, what is the minimum capacity of the link connecting the two hosts? Show your work.

service time = processing delay + queuing delay + transmission delay + propagation delay <= 200 service time = processing delay+queuing delay = 10 propagation delay = 150 10 + (2000)/b + 150 <= 200 b >= 50kb/ms

3a. Consider an Internet application running on two Internet hosts, Host1 and Host2, which are communicating using a path through router R. Assume that the average service time at R is 10 ms, packets are 2,000 bits long, and the propagation delay between Host1 and Host2 is 150ms. Based on the latency expression we covered in class, how is service time defined? Write the mathematical expression for it explaining its terms.

total delay = processing delay + queuing delay + transmission delay + propagation delay where service delay = processing delay + queuing delay processing delay: checking bit errors, determining output link queuing delay: waiting for output link availability


Related study sets

HPU Macroeconomics Howard Final prep

View Set

Unit 6 Rocks and Minerals study guide

View Set

Part 4: Writing to Evaluate Mortimer's Style Quiz

View Set

ACTG 350 Key Terms (Midterm 2 - Final)

View Set

Adding Fractions with Different Denominators

View Set

emergency care: Cardiac emergencies, CPR, and AED

View Set