DOC PREVIEW
CORNELL CS 4410 - Project 5 Networking

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The 1,000 Foot PictureProject ScopeImplementationProject 5Project 5NetworkingRobert EscrivaSlide heritage: Bernard WongCornell CS 4411, November 8, 2010Project 5AnnouncementsProject 4 due Wednesday at 11:59PM.Project 5 will be due November 21 at 11:59PM.Web page is being updated frequently; check forupdates.Project 5There are three kinds of death in this world.There’s heart death, there’s brain death, andthere’s being off the network.Guy AlmesProject 51 The 1,000 Foot Picture2 Project Scope3 ImplementationProject 5The 1,000 Foot PictureWhat is an “ad-hoc networking layer”?Project 5The 1,000 Foot PictureWhat is an “ad-hoc networking layer”?Ad-hoc networking enables wireless communicationwithout the need for infrastructureWhat is it useful for?Removes infrastructure costs.Allows quick deployment.Potentially more reliable (no single point of failure).Based on Dynamic Source Routing.∗∗http://www.cs.cornell.edu/People/egs/615/johnson-dsr.pdfProject 5Project ScopeWhat do you mean by routing?Packets that arrive at your machine may not be meantfor you.Packets not meant for you should be routed to theirdestination.Add a routing layer between the network andtransport layer.Both minimsg and minisocket implementations shouldwork on top of miniroute.Project 5Project ScopeThe new header in picturesNetworkMiniroute HeaderMinimsg HeaderMinisocket HeaderUser ApplicationProject 5Project ScopeHow does DSR work?DSR is a reactive protocol.When a host does not know the route a packet, itmust discover the route.It does so by sending a route discover packet.A route discover packet is broadcast to all hostswithin proximity of a wireless signal.Hosts will re-broadcast discovery packets if they arenot the destination.The host will add itself to the constructed route.The destination will send a route reply packet alongthe reverse route.Project 5Project ScopeRouting protocol (common case)If a route contains A → B → C where A is the source,C is the destination, C will flip the route to C → B → Ato send a reply to host A.Upon receiving a reply, it will add this route into itsroute cache, and use it to send data.Route cache entries expire in 3 seconds to preventstale cache entries.Route discovery must be performed again upon routeexpiration.Is there a better way to do this?Project 5Project ScopeRouting protocol (failure conditions)How does the protocol terminate?By tracking a time-to-live (ttl) value.What should the ttl be initialized to?What happens when ttl = 0?How do we prevent redundant re-broadcasts?We can re-use a trick you’ve seen before.How do we prevent loops?Project 5ImplementationWhat do you need to implement?Convert calls to network_send_pkt tominiroute_send_pkt.Update the network handler.Interpret the miniroute header.Handle routing control packets.Deliver packet as usual if the destination has been reached.Project 5ImplementationRouting CacheThe cache must be able to holdSIZE_OF_ROUTE_CACHE entries.Old items are invalidated after timeout.Alarms may be used, but it can be done without.This should be somewhat efficient, as you mayincrease SIZE_OF_ROUTE_CACHE to be large.Aim for O(1) or O(log n) bound on operations.Think in terms of hash tables, scatter tables, and trees.Project 5ImplementationAdditional implementation requirementsNeed to track recently seen discovery packets.Eliminate redundant broadcasts.Write an Instant Messenger application that runs onminiroute.Read input from the user (look at read*).Add miniterm_initialize to your system initializefunctions.miniterm_read will let you read from the keyboard.Project 5ImplementationBroadcast informationSet BCAST_ENABLED to 1.Set BCAST_ADDRESS:192.168.1.255 for ad-hoc network (see instructions forsetting up an ad-hoc network).x.y.z.255 for CSUGLAB.When debugging:Set BCAST_TOPOLOGY_FILE.Provide a topology file (see project description).Test without wireless.Use only in CSUGLAB.Project 5ImplementationAdditional requirementsOnly put one routing discover request per destinationon the network at any one time.Multiple threads should not trigger multiple routingdiscovery requests for the same destination.Use the latest route reply packet (use the seq_no forthis).Use the structures and data-types provided inminiroute.h:Allows all groups to route an arbitrary group’s packets.It’s unlikely minimsg and minisockets will begroupwise-compatible.Project 5ImplementationAdditional requirementsRouting interoperability requires headers be innetwork byte order.Use the same endianness conversion you used inproject 4.Project 5ImplementationFeeling ambitious?Remove the routing cache timeout:Instead, detect broken links and perform re-performdiscovery.Requires verifying that hops work.Hop-to-hop acknowledgements are very†inefficient.Take advantage of broadcasting to see when the nexthost forwards the packet.Faster (less sends).Requires more work.†veryProject 5ImplementationFeeling more ambitious?Localized route patching.When hop-to-hop communication fails, have the hopthat detects the failure perform a new route discovery.Patch the route on the failed packet to allow it to routesuccessfully.Source and destination should be updated to reflectnew route.Project 5ImplementationFeeling even more ambitious?Cache aggressivelyThere are lots of opportunities to cache more.Every packet presents the chance to update thecache.Just because you can does not mean you should.Some data is not worth caching.Project 5ImplementationFeeling even more ambitious?Redundant routesKeep multiple routes to the same destination in cache.When the source receives an error, the backup routemay be used.Consider how you could extend the header to encodemultiple routes.Project 5ImplementationIf you eat and breath this stuffHybrid proactive/reactive routing protocolsSee Professor Sirer’s SHARP‡‡http://www.cs.cornell.edu/courses/cs414/2004SP/papers/sharp.pdfProject 5ImplementationConcluding thoughtsHave some fun with this project.It’s much less work than P4, and much more fun too.Come see the TAs in office hours§.§some of the TAs get


View Full Document

CORNELL CS 4410 - Project 5 Networking

Download Project 5 Networking
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Project 5 Networking and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Project 5 Networking 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?