ECE 363
Communication Networks


Assignment Submission


Assignments should be submitted on Brightspace https://bright.uvic.ca/d2l/home

Assignments


Assignment 1 - Due January 30, 2026 Solutions
  1. Consider two hosts, A and B, connected by a single link of rate R bps. Suppose that the distance between them is d meters, and the propagation speed along the link is v meters/sec. Host A is to send a packet of size L bits to Host B.
    (a) Express the propagation delay, tprop, in terms of d and v.
    (b) Determine the transmission time of the packet, ttrans, in terms of L and R.
    (c) Ignoring processing and queuing delays, obtain an expression for the end-to-end delay.
    (d) Suppose Host A begins to transmit the packet at time t = 0. At time t = ttrans, where is the last bit of the packet?
    (e) Suppose tprop is greater than ttrans. At time t = ttrans, where is the first bit of the packet?
    (f) Suppose tprop is less than ttrans. At time t = ttrans, where is the first bit of the packet?
    (g) Suppose v = 2 × 108 meters/sec, L = 1 Mbit, and R = 100 Mbps. Find the distance d such that tprop = ttrans.
  2. Consider the queueing delay in a router buffer. Suppose all packets have length L bits and the transmission rate is R bps.
    (a) Suppose that N packets simultaneously arrive at the buffer every LN/R seconds. Find the average queueing delay of a packet. (Hint: The queueing delay for the first packet is zero, for the second packet is L/R, for the third packet is 2L/R, … The Nth packet has already been transmitted when the next batch of packets arrives.)
    (b) Suppose that N packets arrive at the buffer every LN/R seconds, and the inter-arrival time of two adjacent packets is L/(2R), i.e. if the first packet arrives at time t0, then the 2nd packet arrives at t0 + L/(2R), the 3rd packet arrives at t0 + 2L/(2R), …, and the Nth packet arrives at t0 +(N-1)L/(2R). Find the average queueing delay of a packet.
  3. Suppose there is an R = 10 Mbps microwave link between a geostationary satellite and its base station on Earth. The distance between the satellite and base station is 36,000 km. Every minute the satellite takes a digital image and sends it to the base station.
    (a) What is the propagation delay of the link?
    The bandwidth-delay product is the volume of bits on a link when it is used to send a message
    R × tprop
    What is the bandwidth-delay product for this satellite link?
    (c) Let L be the size of the image in bits. What is the minimum value of L for the microwave link to be in continuous use?
  4. Consider a 1 Gbps link and N users accessing this link using statistical multiplexing. Each user accesses the link 5% of the time with a data rate of 200 Mbps.
    (a) What is the maximum number of users such that the probability of the demand exceeding the link capacity is .1%?
    (b) What is the statistical multiplexing gain?
    (c) What is the average rate of transmission with 10 users? Is this below the link capacity? Can congestion still occur in this case?
  5. Consider a system with a link bandwidth of 3.1 kHz.
    (a) If 16-QAM modulation is employed, what is the maximum achievable data rate assuming a noiseless channel? [Hint: Nyquist rate]
    (b) If the link signal-to-noise ratio (SNR) is 30 dB, what is the maximum achievable data rate? [Hint: channel capacity]
  6. In a store-and-forward packet switching system, the processing delay in a switch is tproc = .020 msec. Is this likely to be a major factor in the response of a client-server system where the client is in Vancouver and the server is in Toronto? Assume they are connected by fiber optics.
  7. Ten signals, each requiring 4000 Hz, are multiplexed onto a single channel using FDM. What is the minimum bandwidth required for the muliplexed channel? Assume 10% guard bands are required including at the beginning and end of the channel.
Assignment 2 - Due February 13, 2026 Solutions
  1. The following data occurs for which the byte-stuffing algorithm should be used: A B ESC C ESC FLAG FLAG D. What is the output after stuffing?
  2. You receive the following data: 0110 0111 1100 1111 0111 1101. You know that the protocol uses bit stuffing. Show the data after destuffing.
  3. When bit stuffing is used, is it possible for the loss, insertion, or modification of a single bit to cause an error not detected by the checksum? If not, why not? If so, how? Does the checksum length play a role here?
  4. The eight bit message 1010 1111 is to be encoded using a Hamming code. What is the coeword after encoding? Number the bits from left to right.
  5. The twelve bit string 0111 0101 1101 is received after a Hamming codeword is transmitted over a noisy channel. Determine the message associated with this bit string. Assume that not more than 1 bit is in error.
  6. The bit string 11100110 is to be transmitted using a CRC trailer.
    (a) Using generator polynomial G(x) = x4 + x3 + 1, determine the transmitted bit string.
    (b) Suppose that the third bit from the left is inverted during transmission of this bit string so the received string begins 11000… Show that this error is detected at the receiver.
    (c) Give an example of bit errors in the transmitted bit string that will not be detected by the receiver.
  7. A channel has a rate of R = 4 kbps and a propagation delay of tprop = 20 msec. For what range of frame sizes does the stop-and-wait protocol give an efficiency of at least 50%?

Assignment 3 - Due March 9, 2026 Solutions
  1. Consider building a CSMA/CD network running at 1 Gbps over a 1 km cable with no repeaters. The signal speed in the cable is 200,000 km/sec. What is the minimum frame size?
  2. An IP packet to be transmitted by Ethernet is 60 bytes long, including all its headers. Is padding needed in the Ethernet frame, and if so, how many bytes?
  3. Suppose that an 11 Mbps 802.11b LAN is transmitting 64-byte frames back-to-back over a radio channel with a bit error rate of p = 10-7. How many frames per second will be damaged on average?
  4. Consider an 802.11a LAN using the RTS/CTS mechanism. Suppose a station wants to send a frame of duration 252 µsec and the RTS, CTS, and ACK frames have duration 40 µsec. What numbers are in the Duration fields of the RTS and CTS frames?
  5. Consider the extended LAN connected using bridges B1 and B2 in Fig. 4-33(b) in the textbook (slide 53). Suppose the hash tables in the two bridges are empty. What does B2’s hash table look like after the following sequence of data transmissions.
    B sends a frame to E.
    F sends a frame to A.
    A sends a frame to B.
    G sends a frame to E.
    D sends a frame to C.
    C sends a frame to A.
    Assume that every frame is sent after the previous frame has been received.
  6. Consider the extended LAN connected using bridges B1 and B2 in Fig. 4-33(b) in the textbook (slide 53). Suppose the hash tables in the two bridges are empty. Which of these data transmissions leads to a broadcast.
    A sends a frame to C.
    B sends a frame to E.
    C sends a frame to B.
    G sends a frame to C.
    E sends a frame to F.
    D sends a frame to C.
    Assume that every frame is sent after the previous frame has been received.
  7. Consider Fig. 4-36 in the textbook (slide 57). Imagine an additional bridge, B0, is connected to bridges B4 and B5. Sketch the new spanning tree for this topology. Assume B0 has the lowest Bridge ID.

Assignment 4 - Due March 22, 2026 Solutions
  1. Suppose that host A is connected to a router R1, R1 is connected to another router, R2, and R2 is connected to host B. Suppose that a TCP message that contains 900 bytes of data and 20 bytes of TCP header is passed to the IP layer at host A for delivery to B. Show the Total length, Identification, DF, MF, and Fragment offset fields of the IP header in each packet transmitted over the three links. Assume that link A-R1 can support a maximum frame size of 1024 bytes including a 14-byte frame header, link R1-R2 can support a maximum frame size of 512 bytes, including an 8-byte frame header, and link R2-B can support a maximum frame size of 512 bytes including a 12-byte frame header.
  2. A router has just received the following new IP addresses: 57.6.96.0/21, 57.6.104.0/21, 57.6.112.0/21, and 57.6.120.0/21. If all of them use the same outgoing line, can they be aggregated? If so, to what? If not, why not?
  3. The set of IP addresses from 29.18.0.0 to 29.18.127.255 has been aggregated to 29.18.0.0/17. However, there is a gap of 1024 unassigned addresses from 29.18.60.0 to 29.18.63.255 that are now suddenly assigned to a host using a different outgoing line. Is it now necessary to split up the aggregate address into its constituent blocks, add the new block to the table, and then see if any reaggregation is possible? If not, what can be done instead?
  4. Consider three routers, A, B, and C. Router A advertises routes to address ranges 37.62.5.0/24, 37.62.2.0/23, and 37.62.128.0/17. Router B advertises routes to address ranges 37.61.63.0/24 and 37.62.64.0/18. Both of these routers aggregate these ranges and advertise the result to router C. Show the resulting incorrect routing behavior if C’s routing table contains only these two aggregate address ranges. What can routers do to prevent this from happening?
  5. Consider the network of Fig. 5-12(a) in the textbook. Distance vector routing is used, and the following link state packets have just come in at router D: from A: (B: 5, E: 4); from B: (A: 4, C: 1, F: 5); from C: (B: 3, D: 4, E: 3); from E: (A: 2, C: 2, F: 2); from F: (B: 1, D: 2, E: 3). The cost of the links from D to C and F are 3 and 4 respectively. What is D’s new routing table? Give both the outgoing line to use and the cost.
  6. Give a simple heuristic for finding two paths through a network from a given source to a given destination that can survive the loss of any communication line (assuming two such paths exist). The routers are considered reliable enough, so it is not necessary to worry about the possibility of router crashes.
  7. Most IP datagram reassembly algorithms have a timer to avoid having a lost fragment tie up reassembly buffers forever. Suppose that a datagram is fragmented into four fragments. The first three fragments arrive, but the last one is delayed. Eventually, the timer goes off and the three fragments in the receiver’s memory are discarded. A little later, the last fragment stumbles in. What should be done with it?

Assignment 5 - Due April 2, 2026
  1. Two machines on the same network try to use the same port number to communicate with a server on another network. Is this possible? Explain why (not). What changes if these machines are separated from other networks by a NAT box?
  2. In IP, the checksum covers only the header and not the data. Why do you suppose this design was chosen?
  3. In Figure 6-20 in the textbook, suppose that a new flow E is added that takes a path from R1 to R2 to R6. How does the max-min bandwidth allocation change for the five flows?
  4. Two hosts simultaneously send data through a network with a capacity of 1 Mbps. Host A uses UDP and transmits a 100 byte packet every 1 msec. Host B generates data with a rate of 600 kbps and uses TCP. Which host will obtain higher throughput?
  5. A process on host 1 has been assigned port p, and a process on host 2 has been assigned port q. Is it possible for there to be two or more TCP connections between these two ports at the same time?
  6. In Fig. 6-36 in the textbook, in addition to the 32-bit acknowledgement field, there is an ACK bit in the fourth word. Does this really add anything? Why or why not?
  7. To address the limitations of IP version 4, a major effort had to be undertaken via IETF that resulted in the design of IP version 6 and there is still is significant reluctance in the adoption of this new version. However, no such major effort is needed to address the limitations of TCP. Explain why this is the case.