200 likes | 332 Views
CS 560 Computer Networks. Winter 2001 MWF 9:00-9:50am – 120 TMCB Mark Clement Brigham Young University. Instructor. Dr. Mark J. Clement PhD Oregon State University Research High Speed Networks Parallel Processing LAN/WAN Office - 2216 TMCB - 378-7608 Office Hours: 10-11 MWF
E N D
CS 560Computer Networks Winter 2001 MWF 9:00-9:50am – 120 TMCB Mark Clement Brigham Young University
Instructor • Dr. Mark J. Clement • PhD Oregon State University • Research High Speed Networks • Parallel Processing • LAN/WAN • Office - 2216 TMCB - 378-7608 • Office Hours: 10-11 MWF • Any other time or by appt. • http://students.cs.byu.edu/~clement/
TA • Joseph Ekstrom, Juliana Pinto • Pass Off Labs • Quiz Development • Come to me for most questions
Books • William Stallings, “High Speed Networks” • Bruce Davie “MPLS Technology and Applications” • augmented by papers given out during the semester.
Goals • Quality of Service for IP. • MPLS Protocol stack Labs • Network analysis and simulation
Prerequisites • CS460 • Unix network programming experience.
Communications • http://students.cs.byu.edu/~cs460ta/cs560/cs560.html • Changes to reading assignments, labs, answers to common questions will be posted to news group. • You are advised to check the newsgroup and web page regularly.
Expectations • 6 Hours/week minimum outside of class • Independent work/honor code • If you use the exact words from someone else, they must be enclosed in quotation marks • If you use someone’s ideas, reference them[5] • Class Participation • Independent research
Labs • Lab #1: Socket Switch Write client and switch code. Clients connect to switch on their own machine at specified port and get an assigned DHCP address from them. The switch builds a routing table (the table will change later) and forwards IP packets if the destination is in the routing table. Don't worry about IP fragmentation and reassembly. Only send one packet per second on each interface from switch. Limit queue to 4 IP packets.
Labs Lab #2: Static Routing Set up 3 switches, 3 clients, switches use UDP to connect and exchange addresses. Use a static route file for each switch to determine where the physical connections are present and what bandwidth is available on each line. Lab #3: RSVP Use RSVP to set up an MPLS connection between pairs of clients. The switches should refuse a connection if bandwidth is not available. The MPLS shim header should be inserted by the client once the RSVP connection has been completed. Lab #4: LDP Use LDP to set up an MPLS connection after more than 4 packets have traversed a path. Lab #5: Diffserv Use the priority to queue packets on different LSPs. Drop packets from lower priority queues. Lab #6: ns simulator analysis of RED Determine the impact of RED on the throughput and fairness of a TCP/IP network Lab #8: ns with trace files Validate your results using trace files from real traffic
Partial Credit • All labs must be fully functional in order to get any credit. • Because the labs build on each other, it is to your advantage to complete the labs on time. • Late labs will have 10% of the points deducted for each weekday that they are late for 3 days, then they decay at 10% per week after that. • Pass off against other students in the class (or TA)
Projects • Your completed project will consist of • Topic Selection will be worth 1% of your grade if turned in on time • Project Proposal will be worth 4% of your grade if turned in on time • Final Report will be worth 15% of your grade • Choose something that is interesting to you • Apply simulation and analysis. • You should use the NS simulator for your project
Report • Over 80% of your report should be your own words. • When you quote something you have found in the literature, you must put the words in quotation marks and give credit to the author. • If you paraphrase someone elses words, you must give credit to the author. • Writing Laboratory can help
Schedule • Schedule approximate, we will spend more time on items that need it • Some of the topics have not been finalized yet. • Please suggest topics that you are interested in.
Lab #1 • The purpose of this lab is to help you refresh your UNIX networking skills and to develop a simulated IP switch for use in later labs. • Three processes will be active during this lab. • Two of the processes will be client processes which wish to communicate with each other.
Socket Switch • The third will be an IP switch simulator. The command line for the switch simulator will be • switch [hostname]:[portnumber] • The switch simulator will listen on port for connections from clients. • The switch will send at most one IP packet per second on each interface. • The client command line will be • client [hostname]:[portnumber]
Operation • The client will connect to the host using port . • Once a client has connected, the switch will issue it a DHCP address which the client will use as the source address in future communications • When the client is started, it should display a menu of options for the user.
Menu • The menu should consist of: • Read and display data from the another client. • Write data which will be input from the keyboard to the other client (you will need to specify a destination IP address) • Your client must inter-operate with another version of a switch and client. • Your switch will need to inter-operate with two instantiations of another client.
Tips • All communications should be handled through INTERNET Stream sockets. • Use any open lab Linux machine • You will probably want to use non-blocking I/O to allow the switch to read from either of the clients and to accept new connections on the fly.
Due Friday • If you try running switch and it says something about having the wrong number of parameters or "syntax error", try giving the full pathname for switch ("~clement/cs560/lab1/switch alma:1265" for example) since it is a csh built in. You can also say "./switch alma:1265". • This lab is due Friday