Miscellaneous Last Modified: 7/12/2016 9:30:50 AM 4: Network Layer 4a-1 Grades Resubmit graded HW2 so that we can note who graded each assignment Will compute means for each grader and adjust accordingly If you are not satisfied with that can submit written request for regrade Midterm – one person graded all instances of a given question so should be fair If you have a question, may submit written request for regrade 4: Network Layer 4a-2 Programming Assignment 2 Resources Standard Assignment Linux home directories (coming today) All: keiko, splash, stella, namu, nova (.csuglab.cornell.edu) Meng Additional: cfs01 - cfs20 (.cs.cornell.edu) 20 GB for everyone (~40 MB per team; if run out of disk space let Dora Abdullah know) Optional Assignment 7 machines in 330 Upson Linux Installation (marked with red dots) 7 machines in 315 Upson Linux Installation (marked with red dots) Get more information (including passwords) from Ranveer You must officially sign up!! ASAP please 4: Network Layer 4a-3 Note on homeworks Details in homework; High level information in class – why? Any particular gory detail is not essential; a feel for reality is Homeworks are the place for gory details in this class (too many details to cover in lectures) Confront “inconsistencies” of reality when have all references available to you Test what you are learning against the real world Would people like to see us cover homework solutions in class? 4: Network Layer 4a-4 Clarifications Path MTU Discovery Count to Infinity 4: Network Layer 4a-5 Path MTU Discovery:TCP If doing Path MTU Discovery, start with minimum of receiver’s specified MSS or local MTU and set the Don’t Fragment Bit If ICMP message received indicating that fragmentation was required, then segment size will be reduced Periodically (every 10 min or so), TCP will try a higher segment size up to the receiver’s MSS to see if new route is being used that would allow larger segments Not all implementations support this 4: Network Layer 4a-6 Path MTU Discovery: UDP Not like TCP where sender sends stream in chunks as they see fit and receiver reads in chunks as they see fit With UDP, the size of the UDP packet is much more visible to the application May send with DF bit off May send with DF bit on and if get ICMP messages then IP on host may fragment before sent but not exposed to application layer to encourage smaller amounts of data sent Again not all implementations support 4: Network Layer 4a-7 Path MTU Discovery Look in Ethereal at TCP segments, will see Do Not Fragment Bit is set If on Ethernet, don’t usually see adjustment Ethernet has one of the smaller MTUs so never get an ICMP error saying needs to be smaller If sent from local network with larger MTU might see this activity 4: Network Layer 4a-8 Distance Vector: link cost changes Link cost changes: node detects local link cost change updates distance table (line 15) if cost change in least cost path, notify neighbors (lines 23,24) “good news travels fast” 1 X 4 Y 50 1 Z algorithm terminates 4: Network Layer 4a-9 Distance Vector: link cost changes Link cost changes: good news travels fast bad news travels slow - “count to infinity” problem! 60 X 4 Y 50 1 Z algorithm continues on! 4: Network Layer 4a-10 Distance Vector: poisoned reverse If Z routes through Y to get to X : Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z) will this completely solve count to infinity problem? 60 X 4 Y 50 1 Z algorithm terminates 4: Network Layer 4a-11 Bigger Loops and Poison Reverse E D D (A,D) = c(E,D) + min {D (A,w)} = 2+3 = 5 w Loop back through E! Poison reverse will fix this 7 A 1 B C 2 8 1 E D 2 E D (A,B) = c(E,B) + min {D B(A,w)} = 8+6 = 14 w Loop back through E! Poison reverse will not fix this E will try to send through B B’s route is through C so no poison reverse A 50 50 B 1 2 8 E C 2 D 4: Network Layer 4a-12 Count to Infinity Example with Bigger Loop B will learn bad news C will have told B infinity because its route is through B, so B won’t reroute through C E however will have told B about a good route through D (cost 6) B will choose that route instead and advertise it as the new best to C (cost 6+8 = 14); it will be worse than the old one it advertised to C (old cost = 1) C will propagate this updated “best” route to D (cost 15) D will propagate this new “best” route to E (cost 17) E will update the “best” route to B (cost 19) Last time it advertised cost 6 to B It will loop around adding 13 each time (cost of loop) Will continue until cost E advertises to B is bigger than 500 A 1 1 B C 2 8 E A 500 D 2 B 1 2 8 E C 2 D 4: Network Layer 4a-13