CSCI 3335- Networking Name: Final Exam Problem 1: Error Checking and TCP (15 Points) (a) True or false: [2.5 points for circling correct answers, -1 points for each wrong answer] i. CRC can both correct and detect errors. T F ii. 2-D parity can detect all 2-bit errors and correct all 1-bit errors. T F (b) Identify and describe each phase (numbered) in the TCP trace. Make sure to mention the specific reason for switching to a different phase. Window 1 2 3 4 5 6 7 8 9 10 t
Problem 2: Acronym Match (10 Points) For each of the concepts given below, list which of the following acronyms apply: 802.3, 802.11, ARQ, CIDR, CRC, CSMA/CD, FDMA, FTP, HTTP, IPv4, IPv6, LAN, MTU, NIC, RFC, RTT, SMTP, TCP, TDMA, TLD, TTL, UDP, URL Not all acronyms are used. Unless otherwise stated, there is one acronym per concept. i. A way of interpreting IP addresses as having an initial (variable-length) network prefix, plus the remaining bits identifying a host within that network: ii. iii. iv. The IEEE standardization of Ethernet Medium Access: 2 types of layer-4 protocols: A term referring to a host s network adaptor; Hardware device that handles an interface to a computer network and allows a network-capable device to access that network:. v. The largest sized packet that can be sent across a link (or a network path) without requiring fragmentation:. vi. The style of MAC (Media Access Control) protocol used by Ethernet: vii. A scheme for computing a checksum value over a block of data in order to detect bit errors: viii. The time it takes to send a packet to a destination and hear a response back from it: ix. A counter in the IP header that is decreased at each hop; if it reaches 0, the packet is discarded (also refers to how long to keep a DNS response in a local cache): x. A way of sharing a link s capacity among a group of senders in which each sender is assigned its own frequency to use when transmitting, which it can use to transmit whenever it pleases: Problem 3: IP Fragmentation (10 Points) A 1246 byte Ethernet packet is received by a router that has a PPP link to the next hop for the packet. The MTU for the PPP link is 255 bytes. Show the offset, flag and length fields for each of the fragmented packets (Note! You may need fewer fragments than the number of spaces given in the table). Fragment Number Flag (M bit: 0 or 1) Offset Length 1 2 3 4 5 6 7 2
3 Problem 4: Routing Algorithms (15 Points) State primary differences between Link state algorithms and Distance Vector algorithms in terms of (i) number of messages exchanged; (ii) to which nodes information is exhanged; and (iii) time (steps) needed to compute all shortest paths. Which algorithm will you use for (i) small network and (ii) very large network and why? What category do (i) OSPF and (ii) BGP belong? What protocol is typically used for routing (i) within an Autonoumous System and (ii) between ASes
4 Problem 6: Acronyms (15 points) Expand the following Acronyms and state the purpose of the protocol / standard in a short sentence. ICMP: DHCP: ARP: CIDR: DNS: Problem 6: Ethernet Ethernet s MAC protocol can be described as unslotted a CSMA b /CD c Breifly explain each of the terms (a), (b) and (c) (5 Points)
Problem 7: Short Answers (15 points) a. Suppose a computer is moved from the Computer Science Department in the East Bank campus to another department in the St. Paul campus. Does its MAC address need to be changed? Does the IP address need to be changed? 5 b. Give three differences between IPv4 and IPv6. c. Why does Ethernet perform better than Aloha even though it is based on Aloha d. What are the key differences between router and switch e. What are advantages of datagram based forwarding over connection based forwarding?
6 Problem 8: Error Correction & Detection Assume a 10 by 6 array of data. (15 points) a. How many bit errors can a 2D parity Checksum correct? b. How many can it detect? c. Compute data sent for a bit stream of 110011011011 with CRC using a generator 10101.
7 Problem 9: Socket Programming (25 Points) Study and Implement Socket Programming using your favorite programming language. Provide evidence of your work and submit with your code.