1. What does the standard 5-layer model look like?

  2. 4 sources of packet delay?

  3. Packet switching vs circuit switching. Explain both, what are the advantages / disadvantages

  4. To receive messages, a process needs an identifier. Host device has a unique 32-bit IP address. Does the IP address of host on which process runs suffice for identifying the process?

  5. What port numbers should you choose as to not mess with universally used ports like port 80?
  6. What information is used by a process running on one host to identify a process on another host?
  7. Explain the differences between the client-server and peer-to-peer models for distributed computing. Illustrate your answer as a diagram.
  8. For a communication session between a pair of processes, what process is the client and which is the server.
  9. Why are there two types of protocol for transmission of email messages? Are these protocols push or pull protocols? Why? draw a diagram to show the standard protocol or protocols used for sending email,a nd where they apply.
  10. Suppose a webpage consists of many small pictures. you have the choice of two browsers, one using persistent HTTP and the other non-persistent HTTP. Which one would you choose? Why?
  11. Why is it said that FTP sends control information “Out-of-band”?
  12. Consider an HTTP client that wants to retrive a web document at a given URL. The IP address of the HTTP server is initially unknown. What transport and application layer protocols are needed in this scenario?
  13. Why do HTTP, FTP, SMTP run on top of TCP rather than UDP?
  14. List the four broad classes of services that a transport layer protocol can provide
  15. In class we discussed a UDP and TCP server. The UDP server needed only one socket whereas the TCP server needed two sockets. Why? If the TCP server were to support n simultaenous connections, how many sockets would the TCP server need?
  16. What’s faster, UDP or TCP?
  17. What is the internet checksum?
  18. How does a ones complement checksum work?
  19. What is relibable data transfer?
  20. What happens if ACK / NAK is corrupted in rdt2.0



network interface

Best way to remember this is by using a mneomic. Like “A teen is not physical”

  1. transmission delay, nodal processing, propagation, queuing


Packet switching breaks streams of data into smaller blocks of data. When you make a phonecall, a circuit creates a dedicated and direct link of fixed bandwidth between each node. The link lasted until the call was complete.

Packet switching lets users equally share bandwidth resources but makes no promises concerning quality or latency. Packet switching is more affordable and easier than circuit switching.

  1. No.Because a host can have multiple processes. It’s a port number. A port number is like a door which only takes specifically from that thing.

  2. Above 2000.

  3. Port number & IP address
  4. Client-server has one server that serves all the servers, in peer to peer all clients are servers. usually in a client-server architecture the server will be at a fixed IP address whereas peer to peer might not be fixed, they come and go quite frequently. The diagram is a server which serves a bunch of clients, a peer to peer is just a bunch of computers communicating directly to each other.
  5. The client is the one who will initiate the communication, server will wait to be contacted. If a server communicates with another server, the one who initiated the communication is the client.
  6. SMTP was the push protocol. We have an email and we want to push this to a web server, to a repicent. We have the information and we want to push it somewhere. The last one was the mail access protocol. IMAP or POP3, we communicate to a web server to pull the email from the server as our computer isn’t always on.
  7. Persistent HTTP. We’re downloading multiple images and multiple files so it makes no sense to repeatedly open the socket to downlolad everything.
  8. Out of band means a dedicated channel is used. In FTP, two TCP sockets are opened. One for transmitting/receiving data and the other for session related commands like session setup, directory navigation, mode changes etc. The use of the second socket is the out of band communication. FTP will not be in the exam per the lecture on 11th october 2018
  9. One to retrive the HTTP object - DNS for this to get the IP address. Then we use HTTP to get the HTTP object. They build on transport layer protocols. HTTP builds on TCP. In default mode, DNS uses UDP. We want it to be quick and fast.
  10. We want it to be secure. We want to make sure its correct. If we use a bank we want to make sure all the info is correct.
  11. Reliable data transfer:- TCP only A guarantee that a certain value for throughput will be maintained:-Neither TCP nor UDP. A guarantee that data will be delivered within a specified amount of time:- Neither TCP nor UDP. Security:- Neither TCP nor UDP.
  12. TCP has a special socket called the connection socket. it’s always running, You can contact this socket to get a connecton. When you establish a connection it’ll talk to this. Everytime yuou connect to TCP the server will make another socket for you to talk, based off this socket. UDP you need to know the port number and IP address of the socket. TCP needs n + 1 sockets since we 1 for each connection and +1 for the establishing connection socket.
  13. UDP
  14. It’s used in UDP, TCP, ICMP, IP. The goal is to detect errors in transmitted segments. So you send “0011” and you send a checksum, which is the ones complement sum. If the checksum from the receiver differs from the one from the sender they know that something went wrong with the data.
  15. img We use the complement because the receiver just takes every single bit, sums them up. We add to the sum the complement of the sum and it gives us a string of only 1s. so we add the sum and the checksum which gives us a string of entirely 1’s. UDP, TCP etc use 16 bits. But we can do this iwth 4 bit if we want. He might ask us in an exam where we won’t use 16 bit integers, he might do 8 bit or 4 bit integers.

Little endian and big endian coding in numbers. Originally it depended on the hardware, whether you do the higher significant bit first or lower bit first. So by doing it all in 1’s it doesn’t matter how it is stored. We will always have this carry, no matter what way we look at it. It doesn’t matter how it’s stored on memory. We always run the same algorithm and it works.

  1. It’s used in application, transport and link layers. One of the most important topics there is. With an unrelibable channel we can lose data, packets can come in different orders.
  2. Sender doesn’t know what happened at receiver. Can’t just retransmit due to a possible duplicate.

questions What happens to the wraparound in checksum?