Computer Communication Network Final Exam January 17, 2008 1. State the Token Bucket Algorithm. 10% The algorithm uses a leaky bucket that holds tokens. The tokens are generated by a clock at the rate of one token every ΔT second. For a packet to be transmitted, it must capture and destroy one token. The token bucket algorithm allows idle hosts to save up permission to the maximum size of bucket n for burst traffic latter. 2. State the routing for mobile host (assume each area has a home agent and one or more foreign agents. Describe the procedure starting from that a new host enters an area). 10% When a new mobile host enters an area, it must register itself with the foreign agent there. Periodically, each foreign agent broadcasts a packet announcing its existence and address. The new mobile host may wait for one of these messages or broadcast agent solicitation messages. After registration, the foreign agent informs the mobile host’s home agent the mobile hosts is in its subnet. The foreign agent’s network address and security information are sent to the home agent. The home agent then checks the security information and acknowledges the foreign agent if the security information is valid. When the foreign agent gets the acknowledgement from the home agent, it makes an entry in its tables and informs the mobile host that it is registered now. When a packet is sent to a mobile host, it is routed to the host’s home LAN. Packets sent to the mobile host on its home LAN are intercepted by the home agent. The home agent then looks up the mobile host temporary location and finds the address of the foreign agent. The home agent encapsulates the packet and sends it to the foreign agent. When the foreign agent gets the encapsulated packet, it extracts the original packet and sends it to the mobile host as a data link frame. The home agent then tells the sender to send packets to the mobile host by tunneling packets to the foreign agent. Subsequent packets are routed directly to the host via the foreign agent. 3. a) State the TCP congestion control algorithm (slow start algorithm) 10% The algorithm uses two windows: the window the receiver has granted and the congestion window with a threshold. When a connection is established, the sender initializes the congestion window to the size of the maximum segment and the value of the threshold. It then sends one maximum segment. If the segment is acknowledged before timeout, then the size of the congestion window is doubled until it reaches the threshold. Thereafter, if no timeout occurs, the congestion window grows linearly upto the size of the receiver’s window and remains constant. When a timeout occurs, the threshold is set to half of the current congestion window, and the congestion window is reset to one maximum segment. If no more timeouts occur, the congestion window will grow up to the receiver’s window and remain constant. b) Does the slow start algorithm work well in wireless networks? Explain your answer. 10% No. The slow start algorithm is originally designed for wireline environment where packet loss and timeout are mainly due to congestion. However, in wireless networks, packet loss and timeout are mainly due to error of the less reliable wireless link. When packet loss and timeout (due to error) occur in wireless networks, the algorithm will misjudge the network is congested. It then unnecessarily reset the congestion window to one maximum segment. It causes the sending rate decrease and degrades the TCP throughput. 4. Why, the days of IP in its current form (IPv4) are numbered? 10% Because the number of Internet users increases rapidly and the field of IP address is only 32-bits. Very soon the IP addresses will be exhausted. 5. State step-by-step the protocol used by Ethernet. 10% 6. Datagram fragmentation and reassemble are handled by IP and are invisible to TCP. Does this mean that TCP does not have to worry about arriving in the wrong order? 10% Even though each datagram arrives intact, it is possible that datagrams arrive in the wrong order, so TCP has to be prepared to reassemble the parts of a message properly. 7. Measurements of a slotted ALOHA channel with an infinite number of users show that 10 percent of the slots are idle. a) What is the channel load G 5% P0 = e-G so G= -ln P0 = -ln0.1 = 2.3. b) Is the channel underloaded or overloaded 5% Whenever G > 1 the channel is overloaded, so it is overloaded. 8. a) A machine runs TCP/IP stack. Is this machine in a host or in the node of a subnet? 5% It is in a host. A node of a subnet has only upto IP layer. b) Is fragmentation needed in datagram systems? 5% Yes. In a datagram network, some networks along the path might accept different packets size so fragmentation is needed. 9. Compare datagram and virtual-circuit subnets. 10%