1 Netcomm 2006 - Recitation 1: Sockets Communication Networks Recitation 1.
15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.
-
Upload
leslie-claude-mckinney -
Category
Documents
-
view
214 -
download
1
Transcript of 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.
![Page 1: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/1.jpg)
15-441: Recitation 6
![Page 2: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/2.jpg)
Project 2: IRC Routing Daemon Focus: not really IRC anymore
All about routing: link-state
You NEED a project parnterYou may NOT work alone
![Page 3: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/3.jpg)
Finding a Project Partner
This is very important, you will spend hours and hours with this person
Start looking soon, inquire:Class schedulesAdditional constraints: research/work/lifeHopes & desires: striving for 100%? 80%?Skills: someone good at routing logic and
someone good at coding?
![Page 4: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/4.jpg)
Post a Personal!
Talk to studentsAfter class and in recitation
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….
![Page 5: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/5.jpg)
IRC Servers and Routing
![Page 6: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/6.jpg)
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 serverdaemon Routing port – UDP port on daemon OSPF – link-state protocol similar to the one you’ll
be implementing Routing table – used to store paths
![Page 7: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/7.jpg)
Inter-Daemon Communcation
![Page 8: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/8.jpg)
Link-state Routing Protocols Protocols with a global view of the network
Every daemon knows about every daemonEvery daemon knows connectivity graph
Routing table constructed using shortest path tree
Flooding is used to propagate routing information
![Page 9: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/9.jpg)
LSA: Link State Announcement
Version: always 1TTL: initial(32) value--; every hopType: advertisement(0), ACK(1)sender nodeID: original sendersequence number: ++ per LSA
num ______: # of entries
Link entries: nodeID of neighborsUser entries: NICKs on serverChannel entries: channels on server
![Page 10: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/10.jpg)
LSAs: When to Generate
Generate LSAs periodicallySpecified interval
Generate LSAs on-demand:User joins or quitsFirst user on server to join a channelNeighbor is detected as down (timeout)
![Page 11: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/11.jpg)
LSA Propagation from nodeID 1
#perl#C
#perl
#perl
#perl#C
#C
#C
V(1), TTL(32), T(0) SEQ(50)
snodeID(1)L(2), U(0), C(1)
23
#linux
LSALSA
![Page 12: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/12.jpg)
#perl#C
#perl
#perl
#perl#C
#C
#C
V(1), TTL(32), T(0) SEQ(50)
snodeID(1)L(2), U(0), C(1)
23
#linux
LSA
LSALSA
LSALSA
LSA Propagation from nodeID 1
![Page 13: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/13.jpg)
#perl#C
#perl
#perl
#perl#C
#C
#C
V(1), TTL(32), T(0) SEQ(50)
snodeID(1)L(2), U(0), C(1)
23
#linux
LSA
LSA
LSA Propagation from nodeID 1
Assume LSA from 2 got to node 5 before the LSA from 3
LSA
LSA
LSA
![Page 14: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/14.jpg)
#perl#C
#perl
#perl
#perl#C
#C
#C
V(1), TTL(32), T(0) SEQ(50)
snodeID(1)L(2), U(0), C(1)
23
#linux
LSA
LSA Propagation from nodeID 1
Assume LSA from 4 got to node 6 before the LSA from 5
![Page 15: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/15.jpg)
Details Daemon Daemon: UDP Use acks to make reliable Don’t panic, sample UDP code going to be
released
![Page 16: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/16.jpg)
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…
![Page 17: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/17.jpg)
Inter-Server Communcation
![Page 18: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/18.jpg)
Routing: Posting to #perl
#perl#C
#perl
#perl
#perl#C
#C
#C
PERL ROCKS!
PRIVMSG
PRIVMSG
PRIVMSG
PRIVMSG
![Page 19: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/19.jpg)
PRIVMSGPRIVMSG
Understanding the Routing
#perl#C
#perl
#perl
#perl#C
#C
#C
#CROCKS!
PRIVMSGPRIVMSG
PRIVMSG
![Page 20: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/20.jpg)
#perl#C
#perl
#perl
#perl#C
#C
#C
Node 1
![Page 21: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/21.jpg)
Server/Daemon Communication
![Page 22: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/22.jpg)
Server Daemon Comm. Server and Daemon need to communicate Server notifies daemon of updates
Networking details:Server Daemon: TCP
![Page 23: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/23.jpg)
Server and Daemon Cmds Commands from server to daemon:
ADDUSER: adds a userADDCHAN: adds a channelREMOVEUSER: deletes a userREMOVECHAN: deletes a channelNEXTHOP: nodeID of next hop for targetNEXTHOPS: next hop, given a targetUSERTABLE: user routing tableCHANTABLE: channel routing table
![Page 24: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/24.jpg)
Announcements
The rest of the details are going to be in the handout
![Page 25: 15-441: Recitation 6. Outline Project 1 Wrap up Project 2 Intro Questions.](https://reader036.fdocuments.in/reader036/viewer/2022062720/56649f055503460f94c1a137/html5/thumbnails/25.jpg)
Questions?