1 / 28

Project 1 wrapup Project 2 intro

15-441: Recitation 6. Project 1 wrapup Project 2 intro. Outline. Project 1 Wrap up Project 2 Intro Questions. Project 1 Wrapup. Congratulations! You’re done, regardless of your grade ;) What did you think of the following: Difficulty Coding Documentation Our support.

quang
Download Presentation

Project 1 wrapup Project 2 intro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 15-441: Recitation 6 Project 1 wrapupProject 2 intro

  2. Outline • Project 1 Wrap up • Project 2 Intro • Questions

  3. Project 1 Wrapup • Congratulations! • You’re done, regardless of your grade ;) • What did you think of the following: • Difficulty • Coding • Documentation • Our support

  4. Project 1: Our Feedback to You • Pay attention to the assignments page • Released checkpoints and scripts • USE THE BBOARD -- SRSLY • It’s for your benefit • If one TA is too busy to answer your question or not available, another can see it • We are students too  • It helps others with your same question

  5. Project 1: Us to You – Cont. • Pay attention to who the lead TA is • Takes care of the grading • Who you should contact about late submission • Your lead TAs: • Project 1: Daegun • Project 2: Rui • Project 3: Kaushik

  6. Project 2: IRC Routing Daemon • WOAH! That’s super cool • You’re right, more IRC (kind of!) • Focus: not really IRC anymore • All about routing: link-state • You NEED a project parnter • You may NOT work alone

  7. Finding a Project Partner • This is very important, you will spend hours and hours with this person • Start looking soon, inquire: • Class schedules • Additional constraints: research/work/life • Hopes & desires: striving for 100%? 80%? • Skills: someone good at routing logic and someone good at coding?

  8. Post a Personal! • Talk to students • After class and in recitation • 5 minutes to meet people here, right now, …. YA RLY • Additionally, mail the bboard:Hi, my name is George. My class schedule is XXXXX. I have a job and I work from X-Y on days A and B….

  9. IRC Servers and Routing

  10. New Definitions • Node – IRC server + Routing Daemon • nodeID – unique node identifier • Neighbor – node’s A and B are neighbors if there is a virtual link between them • Forwarding port – same as IRC port • Local port – TCP port for serverdaemon • Routing port – UDP port on daemon • OSPF – link-state protocol similar to the one you’ll be implementing • Routing table – used to store paths

  11. Link-state Routing Protocols • Protocols with a global view of the network • Every daemon knows about every daemon • Every daemon knows connectivity graph • Routing table constructed using shortest path tree • Flooding is used to propagate routing informatoin

  12. LSA: Link State Announcement Version: always 1 TTL: initial(32) value--; every hop Type: advertisement(0), ACK(1) sender nodeID: original sender sequence number: ++ per LSA num ______: # of entries Link entries: nodeID ofneighbors User entries: NICKs on server Channel entries: channels on server

  13. LSAs: When to Generate • Generate LSAs periodically • Specified interval • Generate LSAs on-demand: • User joins or quits • First user on server to join a channel • Neighbor is detected as down (timeout)

  14. LSA Propagation from nodeID 1 LSA #C #perl LSA #perl #C #C #perl #C #perl V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2), U(0), C(1) 2 3 #linux

  15. LSA Propagation from nodeID 1 LSA LSA LSA #C #perl #perl #C #C #perl #C LSA #perl LSA V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2), U(0), C(1) 2 3 #linux

  16. LSA Propagation from nodeID 1 LSA LSA #C #perl #perl #C #C #perl #C LSA #perl LSA LSA V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2), U(0), C(1) 2 3 #linux Assume LSA from 2 got to node 5 before the LSA from 3

  17. LSA Propagation from nodeID 1 #C #perl LSA #perl #C #C #perl #C #perl V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2), U(0), C(1) 2 3 #linux Assume LSA from 4 got to node 6 before the LSA from 5

  18. Computing Routing Tables • At every node: • Compute shortest past from every node to every node • Create next hops table • We will see in the following slides…

  19. Understanding the Routing PRIVMSG #C #perl PERL ROCKS! #perl #C #C #perl #C #perl

  20. Understanding the Routing #C ROCKS! PRIVMSG PRIVMSG PRIVMSG #C #perl #perl #C #C #perl #C #perl

  21. #C #perl #perl #C #C #perl #C #perl Node 1

  22. #C #perl #perl #C #C #perl #C #perl Node 2

  23. #C #perl #perl #C #C #perl #C #perl Node 5

  24. #C #perl #perl #C #C #perl #C #perl Node 6

  25. Server  Daemon Comm. • Server and Daemon need to communicate • Server notifies daemon of updates • Networking details: • Server  Daemon: TCP • Daemon  Daemon: UDP • Don’t panic, sample UDP code going to be released

  26. Server and Daemon Cmds • Commands from server to daemon: • ADDUSER: adds a user • ADDCHAN: adds a channel • REMOVEUSER: deletes a user • REMOVECHAN: deletes a channel • NEXTHOP: nodeID of next hop for target • NEXTHOPS: next hop, given a target • USERTABLE: user routing table • CHANTABLE: channel routing table

  27. Announcements • The rest of the details are going to be in the handout • Homework 2 is out already, due next Tuesday

  28. Questions?

More Related