Homework for 09/16/02: Read Forouzan pp 1 - 56. Do p 42 problems 1, 2, 3. Do not hand in, NOT Graded. Get IETF RFC 1700. Use it to find the ethertype of IPv4. Send 5 lines (etherype IPv4 in the middle) to Ms Zhang. This will be graded. --- Homework for 09/23/02: Read Forouzan pp 56 - 110. Log on to any Unix system. Do ``man ping''. Read the ping manual pages. Do p 112 problems 1, 2, 3, 4, 5. (Not Graded) Do P 115 problems 21, 22, 28. (Not Graded) There are (at least) two ways to get RFCs. Both start by: Go to the IETF web page. Click on ``RFC pages''. Then: (1) {put in RFC number} This gives you the RFC. or: (2) {click on ``RFC editor web pages'', click on ``RFC search'', Type in keyword(s), e.g. RFC number.} This (hopefully) gives you a list of relevant RFCs, with some additional information: ``Obsoletes'', ``Obsoleted by''. Fairly often, an RFC becomes obsolete. Then it is replaced by a newer RFC. The older RFC remains accessible, but is ``obsoleted by'' the newer RFC. Homework for 09/23/02 (Graded). (Hand in before 09/23/02 5:00 pm). Find the RFC that obsoleted RFC 1700. Get that RFC and read it entirely. Use the information you obtain for the following: Find the ethertype of IPv4. Find the ethertype of IPv6. Find the protocol numbers of TCP and of UDP. Email Ms Zhang 4 times 5 lines, in each case the middle line being the one that contains the relevant information. (One Email ! 4 times 5 lines, separated by blank lines, plus a line each that explains the next 5 lines). Aside: (Do not send in your response to this!). Notice that IPv4, IPv6 have different ethertypes. They also have different version numbers. What do you think of this redundancy? More homework (Do not hand in). Log on to any Unix system. do: ping alizarin.njit.edu What is the response? do: ping -s alizarin.njit.edu (If you have seen enough, terminate with control-C). Find out what all the fields in the response mean. ASIDE: Currently, ping works in NJIT, also from inside NJIT to outside NJIT. Currently, traceroute works from inside NJIT to inside NJIT, but not from inside NJIT to outside NJIT, or from outside NJIT to inside NJIT. Students need to go to one of the ``public'' traceroute sites to experiment with traceroute. E.g. http://www.sdsc.edu/~hutton/cgi-bin/tracert.cgi Or: go to Google, search for traceroute . --- Homework for 09/30/02 Read Forouzan pp 119 - 163. Do p 163 problems 1 , 2, ,3 , 4. (Do not hand in) Do p 165 problems 17, 18. (Do not hand in) Do p 166 problem 40. (Do not hand in) Log on a to a Unix System. do: man nslookup read the nslookup manual pages. do: man arp read the arp manual pages. do: arp -a do: man traceroute read the traceroute manual pages. Log on to one of the afs Unix computers in the lab on the second floor or GITC. (afs1 , afs2 , ... , afs36). Print the content of the arp cache of that computer. Try to understand the meanings of all fields in that cache. This will be further discussed in class. Find a computer across an ocean. Try to make sure that as far as you know, no other student in the class is using the same computer. (X). Use nslookup to translate the name of that computer into a dotted decimal IP address. Use nslookup to translate that dotted decimal address back into a name. If that does not give you back the same name, repeat, now starting with the second name. Optional (if not now, definitely next week) do ``traceroute'' to that computer ``X''. (Do not hand in this week). Of the above (for 09/30), no homework needs handing in. But exams are likely to include questions about this. Hand in, before 09/30/02, 5:00 pm, to be graded: Find a computer across an ocean. Use the same ``X'' as above. Estimate RTT, loss probability from NJ to that computer. (Do not overdo the number of pings! say 100 pings per run). Do this a few times over a day, say when you think it is a busy hour and when you think it is not busy at all. Hand in the results of your runs and a SHORT discussion of what you see. (Points will be taken off for rambling stories). --- 10/07: Mini midterm. About 45 minutes: 6:00 SHARP - 6:45. Be on time. Study all classnotes thus far. Study all reading, previous and for 10/07. Study all homework, previous and for 10/07. No questions on ifconfig, route, routed, netstat. Homework for 10/07. Read Forouzan pp 169 - 203. Log on to a Unix system. do: man ifconfig read the ifconfig manual pages. do: ifconfig -a Try to understand all fields. (There will be some you do not get). do: man route read the route manual pages. Do not try to run route. You are likely to not understand all of this. Don't despair. do: man routed read the routed manual pages. Do not try to run routed. You are likely to not understand all of this. Don't despair. do: man netstat read the netstat manual pages. do: netstat do: netstat -r do: netstat -ar (try a few more parameter values). Try to understand all fields. (There will be some you do not get). Do traceroute to the same computer ``X'' you used last week with nslookup and ping. Make sure you understand what each field stands for. This is likely to be asked in the exam! Hand in, before 10/07/02 5:00 pm: The output of your traceroute run above, with SHORT discussion of what you saw. Points will be deducted for long, rambling stories. --- Professor Ott will be at a conference Oct 08 - 11, so there is a high likelyhood he will not have graded all exams by 10/14. Homework for 10/14: Read Forouzan pp 203 - 246 Do all reading for previous weeks you did not do yet. (ifconfig, route, routed, netstat). Do the ifconfig, netstat excercises you did not do yet. (Do not hand in). Do (do not hand in) Forouzan p 187 problems 4, 5, 7. p 188 problems 17, 18. p 222 problems 13, 16. p 250 problems 22, 25, 35. --- Warning: On TCP, Dr Ott will cover considerably more than there is in Forouzan's book. Make good notes! Study them! Homework for 10/21: Read Forouzan pp 253 - 290. Do (do not hand in) Forouzan p 294 26, 27, 28, 29, 30 . For the dictionary or thesaurus, use one on the web. --- Tue Oct 22, 11:00 pm: Composition of teams for project due. By Email to Ms Zhang. Include name(s) and Email address(es). Two-person teams recommended and preferred. One-person teams are OK. You do not get extra credit for doing the project alone (for not working well with other people)! --- Homework for 10/28: Read Forouzan pp 297 - 321. Read man tcpdump . Do (do not hand in) Forouzan p 295 39, 40, 41, 42. Do (do not hand in) Forouzan p 348 36, 37, 38, 39. Find out the maximal ping size that works. (1) from inside NJIT to inside NJIT (say from afsx to afsy, x .NE. y) do (e.g.) ping -s afsy 65507 5 , do (e.g.) ping -s afsy 65508 5 . Explain what you see. (2) From NJ to your favorite computer across an ocean, do the same. (3) From NJ to your favorite computer across an ocean, find the largest ping size that works. (Do a bisecting search). It is likely to be less than 65507 ! Explain what you see. Hint: read RFC 1122, sections 3.3.2 and 3.3.3 . Do not hand in. This may be asked at midterm or final. Study the files (TCPDump example 1, -e) and (TCPDump example 1, -x) on this web page. (A few of those packets were discussed in class. Some corrections were made since that class.) In particular study the packets with time-stamps 14:53:36.190417 - 14:53:36.310145 . (elapsed time 119.728 msec) (I had an error here: - 14:53:36.213895). Compute the IP sequence numbers of these 9 packets. How do maan and oak choose IP sequence numbers? Are maan and oak sending to other addresses (than to each other) during this period? Do not hand in. (Many calculators have hexadec <-> decimal conversion) This may be asked at midterm or final. Aside: (Some students asked me). I got these two outputs as follows: first I used tcpdump with the -w option to get a trace of ``raw packets''. Then I analyzed that trace twice, once with the -e option and once with the -x option. Then I edited the files, to improve readability and to insert comments. --- Nov 04, noon: Mini Project due, by Email to Ms Zhang. CLEARLY explain how to run your program, what compiler to use, etc. Homework for 11/04: Read Forouzan pp 321 - 342. Study the files (TCPDump example 1, -e) and (TCPDump example 1, -x) on this web page. In particular study the packets with time-stamps 14:53:36.190417 - 14:53:36.310145 . (I had an error here: - 14:53:36.213895). Hand in: For these 9 packets, give all fields in the headers in ``human readable form''. Do these packets follow the rules for ack numbers and sequence numbers? Defend your conclusion. --- 11/11/2002 Second Midterm. With almost certainty one question will involve making sense out of a tcpdump output. Ping, traceroute, and nslookup are also likely. Packet headers (Ethernet, IP, TCP, UDP) are also likely. Questions about EMTU-R and EMTU-S are quite possible. --- 11/18/2002 Read Forouzan pp 353 - 386. Do (do not hand in) p349 problems 43, 44, 45, 46. Work on the Maxi Project! --- (1) Today (Fri 11/22) for the first time this week I feel a bit better. I expect to teach Monday evening. And even if I do not teach, somebody else will teach for me, so make sure to come to class. (2) More about the Maxi project etc. Router 7 can take (at least) the following 5 actions: (1) Direct delivery to a host on network IX. (2) Forward to A15 on R6. (3) To its own higher level software. (Routers can send and receive packets!) (4) Forward to a router in ``NJIT''. I have not given you a list of NJIT routers A17 can reach in one hop, so put in a ``generic sentence''. In the real world, since R7 is a NAT Router, it has a direct link (point-to-point) with exactly one external router. (5) Drop the packet on the floor and send ICMP message. In your program, you will make sure that if R7 receives a packet with a destination address inside 172.0.0.0/8 , but not in one of the 13 networks in the diagram, then it drops the packet on the floor and sends an ICMP message ``unknown network''. (NOT ``network unreachable'' ! Why? What is the difference?). In the real world R7 does more: it translates IP addresses and TCP and UDP portnumbers. Do not try to include that in your program! (In ``outgoing'' packets it replaces the IP Source address by the address of A17, and the portnumber by some other portnumber. In ``incoming'' packets it looks at the destination portnumber and looks it up in its tables. If it is not there the packet is dropped: firewall capability. If it is there it uses it to find the correct destination address and portnumber (``translates'') and replaces the destination address and portnumber.). --- 11/25/2002 Read Forouzan pp 386 - 396. More to be assigned. --- Sunday 12/01/02 11:59 pm: Maxi Project due, by Email to Ms Zhang. CLEARLY explain how to run your program, what compiler to use, etc. --- 12/02/2002 Homework to be assigned. --- 12/09/2002 Last class. If you have questions, ask them this session! (Or earlier!). --- 12/16/2002 Final exam. --- 12/20/2002 Grades due to registrar. ---