Networks and Protocols International University Bremen Dr. Jürgen Schönwälder Course: 320351-A Date: 2003-11-04 Deadline: 2003-11-18 Solution #2 Solution 2.1: IPv6 auto-configuration (10+5+5=20 points) 1. The IPv6 packet can be decoded as follows: 6000 0038 fe80 02e0 ff02 0000 8600 4000 0000 0000 0304 40e0 0027 0009 0000 2001 0000 0101 00e0 0000 3aff 0000 81ff 0000 0000 dc7f 001e 0000 0000 0000 fe25 0000 0000 8d00 3a80 0000 0638 0709 0000 0000 00e0 8125 1043 Version = 6, Traffic Class = 0, Flow Label = 0 Payload Length = 56, Next Header = 58 (ICMPv6), Hop Limit = 255 0000 Source Address = fe80::02e0:81ff:fe25:1043 1043 0000 Destination Address = ff02::1 0001 Type 134 (Router Advertisement), Code = 0, Checksum = 0xdc7f Cur Hop Limit = 64, Router Lifetime = 30 seconds Reachable Time = 0 milliseconds Retrans Timer = 0 milliseconds Option Type = 3 (Prefix Information), Length = 32 bytes Prefix Length = 64, on-link, address-configuration Valid Lifetime = 2592000 seconds (30 days) Preferred Lifetime = 604800 seconds (7 days) Reserved 0001 Prefix = 2001:638:709:1:: 0000 Option Type = 1 (Source Link-layer Address), Length = 8 bytes IEEE 802 MAC Address 00:e0:81:25:10:43 2. The MAC address 00:E0:00:C1:F2:AD is algorithmically transformed into the EUI-64 address 02:E0:00:FF:FE:C1:F2:AD. This immediately leads to the configuration of the link-local IPv6 address fe80::2e0:ff:fec1:f2ad/64. After receiving the ICMPv6 Router Advertisement with the prefix 2001:638:709:1::/64, the global IPv6 address 2001:638:709:1:2e0:ff:fec1:f2ad/64 is configured. 3. Routers are required to decrement the Hop Limit field. To ensure that neighbor discovery message come from a link local source, the Hop Limit field must contain 255. An attacker who injects neighbor discovery message for a remote point in the network will not be able to generate a message with a Hop Limit field value of 255. However, he might be able to generate a message with a Hop Limit field value of 1 by carefully adjusting the Hop Limit field before sending the message. Solution 2.2: transmission control protocol (5+5+10=20 points) 1. If an acknowledgement is received before the associated retransmission timer expires, the estimation of the round-trip time is updated using the formula RT T = α · RT T + (1 − α)M . Inserting the values for α and M , we get (with RT T0 = 30): RT T1 = 7 1 7 1 · RT T0 + 26 ms = · 30 ms + 26 ms = 29.5 ms 8 8 8 8 7 1 7 1 · RT T1 + 32 ms = · 29.5 ms + 32 ms = 29.8125 ms 8 8 8 8 7 1 7 1 RT T3 = · RT T2 + 24 ms = · 29.8125 ms + 24 ms = 29.0859375 ms 8 8 8 8 RT T2 = 2. The initial window size IW is given by the following formula: IW = min(4 · SM SS, max(2 · SM SS, 4380)) bytes With SM SS = 2048 bytes, we get: IW = min(8192, max(4096, 4380)) bytes = 4380 bytes During slow start, the congestion window is increased by at most SMSS bytes for every acknowledgement received. We assume that there is no congestion and all acknowledgements arrive well before the retransmission timer expires. This leads to the following behavior: step 1 2 2 4 cwnd 4380 bytes 8476 bytes 16668 bytes 33052 bytes description two segments are sent and acknowledged four segments are sent and acknowledged eight segments are sent and acknowledged twelve segments are sent due to the receive window It therefore takes three round-trip times or 30 ms until the full receive window of 24 K can be used. 3. Running TCP over TCP is not a good idea. The main reason is that the retransmission strategy used by the lower-layer TCP will already ensure that data is reliably transmitted. The upper-layer TCP engine is however not aware of this and will try to adapt timers and request retransmissions. The problem now is that the timers in the upper-layer TCP engine will be confused by the behaviour of the lower-layer TCP engine when segments are lost and request retransmissions that queue up and can stall the lower layer TCP engine. Solution 2.3: simple chat protocol (30+30=60 points) See the programs chat and chatd which are available from the course web page.