Bmazza cst311 Final
Bmazza cst311 Final
1. Determine the shortest path using Dijkstras algorithm from node v to all other nodes
in the network. You need to draw a table similar to the one shown in class and
clearly illustrate all the steps.
step N d(t), p(t) d(u), p(u) d(w), p(w) d(x), p(x) d(y), p(y) d(z), p(z)
0 v 4, v 3, v 4, v 3, v 8, y
1 vu 4, v 4, v 3, v 8, y
2 vux 4, v 4, v 8, y 11, x
3 vuxt 4, v 8, y 11, x
4 vuxtw 8, y 11, x
5 vuxtwy 11, x
Routing is the process of determining the route that a set of data will take. Forwarding
the the more physical process of moving the data onto a new link.
5. How big is the MAC address space? Compare it against the IPv4 address space?
IPv4 is 32bits and the MAC address space is 64 bits, so the MAC address is 32 bits
larger than the IPv4 address, which indicates that the MAC address has 63 more
addresses available.
7. Why is an ARP query sent within a broadcast frame? Why is an ARP response sent
within a frame with a specific destination MAC address?
An ARP query is sent within a broadcast frame because the sender doesnt know where
to request the address from. The broadcast message will be sent to all of the hosts on
the LAN, so that the sender can find the MAC address of the host it is looking for. The
ARP response is sent within a frame with a specific destination MAC address because it
knows who sent the broadcast message and it will identify itself this way.
8. Describe TCP congestion control namely the slow start, congestion avoidance and
fast recovery phases.
TCP congestion control allows a host to find the maximum number of segments it can
send at a time (for any point in time) over the TCP connection. During the slow start
phase, the sender sends packets to the receiver. The receiver will respond with
acknowledgements. For each acknowledgement received, the sender will send an
additional packet. The sender does this because the receiver is getting the data and can
likely handle more load.
The congestion avoidance phase is when the sender only sends one additional packet
for each set of set of packets, so that the receiver doesnt become overwhelmed.
Fast recovery uses the maximum window size to calculate the best payload to begin
sending out after there are issues in the sending and receiving process.
9. Consider the scenario in the figure below, in which three hosts are each connected
to a router by a 100 Mbps link, with an near-zero ms propagation delay. That router
in turn is connected to another router over a 30 Mbps link with a 50 ms propagation
delay, and that latter router is connected to two remote logging servers, each over a
20 Mbps link with a 10 ms propagation delay. Suppose one of the hosts sends a
message directly to one of the remote logging servers. The message is 10K bits
long. What is the end-to-end delay from when the message is first transmitted by the
host to when it is received at the remote server? Assume that the request goes
directly to the server, that there are no queueing delays, and that node (router)
packet-processing delays are also zero.
dproc = 0
dqueue = 0
dtrans = (100 Mbps + 30 Mbps + 20 Mbps) / 10 Kb = 150 Mbps / 10 Kb = 150000 Kbps /
10 Kb = 15000 s
dprop = 0 ms + 50 ms + 10 ms = 60 ms = 1 s
DNS maps host names to IP addresses. There are mapping tables in each host that
cache already requested websites. When those arent found in the cache, theyre
retrieved from DNS server. These allow us to use more human-readable website
addresses (as opposed to IP addresses).
DHCP allows a host within a network to get an IP address if it doesnt already have one.
DHCP keeps track of the IP addresses that have already been given out.
NAT helps facilitate using one IP address for all hosts in a network behind a NAT. It
distinguishes between different hosts using port numbers that it sends out into the
public space. The NAT also keeps a table of host IP addresses to port numbers it uses
publicly. This helps protect various hosts on a network.
The ALOHA protocol allows multiple hosts to send data at the same time. On the link,
the separate hosts each attempt to send data when theyd like. If there are no other
hosts transmitting, it will complete fine and not have to worry about sending the data
later. If there are two or more hosts attempting to send data at the same time, they will
each use a function to decide when to attempt to transmit again. This function is a set of
numbers (that grows as there are more sequential collisions) that randomly picks a new
transmission time from that set. The host will attempt to send the data based on the
random number picked.
12. Host A is sending Host B a large file over a TCP connection. Assume Host B has no
data to send Host A. Host B will not send acknowledgments to Host A because Host
B cannot piggyback these acknowledgements on data. True or False?
False. Host B will send an acknowledgements as separate messages (for each of the
packets received from Host B).
13. Suppose Host A sends a few TCP segments back to back to Host B over a TCP
connection. The first segment has sequence number 90; the second has sequence
number 110.
a. How much data is in the first segment?
There are 20 bytes worth of data in the first segment.
b. Suppose that the first segment is lost but the second segment arrives at B. In the
acknowledgment that Host B sends to Host A, what will be the acknowledgment
number?
The acknowledgement number will be 90. This is because host B never received the
first segment and needs to obtain it before moving on.
14. Consider the application layer protocol SMTP. What transport layer protocol does
SMTP run over? Explain your answer.
SMTP runs over TCP because its reliable and doesnt need to be extremely fast.
15. UDP provides reliable data transfer in the transport layer True or False?
True, UDP provides some reliable data transfer in the transport layer only.