Title: Project 1 wrapup Project 2 intro
1Project 1 wrapupProject 2 intro
- 15-441 Recitation 6
- By your always amazing Tas
2Outline
- Project 1 Wrap up
- Project 2 Intro
- Questions
3Project 1 Wrapup
- Congratulations!
- Youre done, regardless of your grade )
- What did you think of the following
- Difficulty
- Coding
- Documentation
- Our support
4Project 1 Our Feedback to You
- Pay attention to the assignments page
- Released checkpoints and scripts
- USE THE BBOARD -- SRSLY
- Its 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
5Project 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 Jacob
- Project 2 David
- Project 3 George
6Project 2 IRC Routing Daemon
- WOAH! Thats super cool
- Youre 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
7Finding 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?
8Post a Personal!
- Talk to students
- After class and in recitation
- 5 minutes to meet people here, right now, . YA
RLY - Additionally, mail the bboardHi, my name is
George. My class schedule is XXXXX. I have a
job and I work from X-Y on days A and B.
9IRC Servers and Routing
10New Definitions
- Node IRC server Routing Daemon
- nodeID unique node identifier
- Neighbor nodes 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
youll be implementing - Routing table used to store paths
11Link-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
12LSA 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 of neighbors User entries NICKs on
server Channel entries channels on server
13LSAs 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)
14LSA Propagation from nodeID 1
C
LSA
perl
LSA
perl C
perl C
C
perl
V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2),
U(0), C(1) 2 3 linux
15LSA Propagation from nodeID 1
LSA
LSA
LSA
C
perl
perl C
perl C
C
perl
LSA
LSA
V(1), TTL(32), T(0) SEQ(50) snodeID(1) L(2),
U(0), C(1) 2 3 linux
16LSA Propagation from nodeID 1
LSA
LSA
C
perl
perl C
perl C
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
17LSA Propagation from nodeID 1
C
perl
LSA
perl C
perl C
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
18Computing 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
19Understanding the Routing
PRIVMSG
C
perl
PERL ROCKS!
perl C
perl C
C
perl
20Understanding the Routing
C ROCKS!
PRIVMSG
PRIVMSG
PRIVMSG
C
perl
perl C
perl C
C
perl
21C
perl
perl C
perl C
C
perl
Node 1
22C
perl
perl C
perl C
C
perl
Node 2
23C
perl
perl C
perl C
C
perl
Node 5
24C
perl
perl C
perl C
C
perl
Node 6
25Server ?? Daemon Comm.
- Server and Daemon need to communicate
- Server notifies daemon of updates
- Networking details
- Server ?? Daemon TCP
- Daemon ?? Daemon UDP
- Dont panic, sample UDP code going to be released
26Server 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
27Announcements
- The rest of the details are going to be in the
handout - Handout likely to be released today
- Homework 2 will be out today, due next Friday
28Questions?