From gnawali@usc.edu Sun Mar 2 08:57:19 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Sun, 02 Mar 2003 00:57:19 -0800 Subject: [Csci551-talk] sample input files Project Message-ID: <200303020857.h228vJLg023994@enl.usc.edu> Dear class, I just posted sample inputs for the project. You will find them on the TA page. - om_p From johnh@ISI.EDU Mon Mar 3 17:30:27 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 03 Mar 2003 09:30:27 -0800 Subject: [Csci551-talk] SACK Problem In-Reply-To: <659e766e14.66e14659e7@usc.edu> Message-ID: <200303031730.h23HURMs015172@dash.isi.edu> On Wed, 19 Feb 2003 14:54:00 PST, parthik teli wrote: >I cannot understand why in SACK, upon receiveng Partial ACK.. Pipe is decremented by 2... can somebody please explain it ? "Pipe" represents how many packets are in flight. Partial ACKs are sent in response to valid data leaving the network, and they indicate that one packet was lost. Therefore, they suggest that two packets have left the network. -John Heidemann From johnh@ISI.EDU Mon Mar 3 17:57:32 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 03 Mar 2003 09:57:32 -0800 Subject: [Csci551-talk] a controversial paper: TCP circuits In-Reply-To: <5.1.0.14.2.20030228124554.00baaff0@email.usc.edu> Message-ID: <200303031757.h23HvWgu024685@dash.isi.edu> On Fri, 28 Feb 2003 13:06:52 PST, Ramesh Sarangarajan wrote: >I'm sure this paper - >http://citeseer.nj.nec.com/molinero-fernandez02tcp.html - would have >ignited a lot of controversy. This makes a case for integrating circuit >switching with packet switching. > >I think they make a pretty good case for switching circuits for every TCP flow: >1. Bandwidth is no longer the "precious" entity - it is the buffers in routers. >2. Moore's law for processors is moving much slower than the rate of >doubling of bandwidth (every 7 months as opposed to every 18 months for >processors). >3. Already we are over-provisioning bandwidth & the original argument for >packet switching (achieving max utilization by statistical multiplexing) is >less relevant currently. >4. Already the Core of the Internet (as well as the last-mile) is carried >on circuits (SONET, etc) >4. The robustness (routing around failures) in Internet is lesser (seconds >to minutes) currently because of complex routing protocols which take a >long time to converge - whereas SONET recovers in less than 50 ms. >5. They argue that the state & signalling for TCP switching is manageable >with current hardware tech. > >Very interesting indeed - if their proposal becomes successful, all the >previous efforts in QoS provisioning in packet-switched Internet would >become less relevant. > >But, as I'm not really an expert, I suspect there could be something wrong >in their idea. >Any ideas on why this radically different way of doing thing won't actually >work? If you agree with point #2, then doesn't that argue we must reduce per-flow state in the routers, not increase it? But point #4 suggests they're intersted in circuit switching not for each TCP flow, but for bundles of flows. This argument is strong enough that at least some folks in the IETF have gone off and tried to take it on. See the MPLS RFCs. -John Heidemann From sarangar@usc.edu Mon Mar 3 21:00:47 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Mon, 03 Mar 2003 13:00:47 -0800 Subject: [Csci551-talk] a controversial paper: TCP circuits In-Reply-To: <200303031757.h23HvWgu024685@dash.isi.edu> References: <5.1.0.14.2.20030228124554.00baaff0@email.usc.edu> Message-ID: <5.1.0.14.2.20030303123758.02739530@email.usc.edu> >If you agree with point #2, then doesn't that argue we must reduce >per-flow state in the routers, not increase it? I agree; I also think there is a subtle point here. In CS (circuit switching), the state required is limited because the number of flows at a time would not exceed the number of circuits between two switches, unlike in PS (packed switching) switches which would need to maintain state for more flows as they try to make a slow & steady progress of the flows unlike serializing the flows in CS if there are not enough circuits to support them. In a later paper - http://klamath.stanford.edu/~molinero/papers/Infocom_2002_cct.submit.pdf - Molinero & McKeown argue that the non-preemptive nature of circuit switches makes them less suitable for LANs & access networks, while it would be a lesser issue in core networks. They also provide NSv2 simulations - http://klamath.stanford.edu/TCPSwitching/ns-2-tcpswitching.tar.gz - to support their claims. -Ramesh From jongapar@usc.edu Thu Mar 6 00:03:21 2003 From: jongapar@usc.edu (JongAm Park) Date: Wed, 05 Mar 2003 16:03:21 -0800 Subject: [Csci551-talk] [Q] Project A Message-ID: <3E669049.2060902@usc.edu> How do you do, TA and Professor Heidmann. While I am doing the homework, there is something I'd like to ask a question. Probably I don't understand what I should do for the project. I'm trying to make processes for each router. According to the configuration file, each has its own IP address and a mask. ( probably it's for CIDR. I should study about what the mask is for more. ) The first sample configuration file contains 10.1.0.0 16 10.2.0.0 16 192.168.123.0 24 192.168.101.0 24 192.168.200.128 25 The last 3 IPs are private IP. However the 2 IPs, 10.x.x.x, are not. So, when I tried to bind a process to the 10.x.x.x, it throws error msg like this : router can't bind to the address : Address already in use So.. should I use the IP address? If so, how? And.. another question is if a process can use the IP address at all. I should try it but it looks strange to me. Because no real H/W is not related to the IP address, I wonder if a process can bind to the IP address, and if the master process even send to the IP address assuming that the IP address is bind to a process, not a real machine on the net. Thank you very much. -- Try not to become a man of success but rather to become a man of value. - A. Einstein From sarangar@usc.edu Thu Mar 6 02:00:45 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Wed, 05 Mar 2003 18:00:45 -0800 Subject: [Csci551-talk] [Q] Project A In-Reply-To: <3E669049.2060902@usc.edu> Message-ID: <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> JongAm, I'm not sure if it is appropriate for me to answer your question as they were specifically addressed to TA & Professor. >The last 3 IPs are private IP. However the 2 IPs, 10.x.x.x, are not. http://www.rfc-editor.org/rfc/rfc3330.txt Page 1: 10.0.0.0/8 - This block is set aside for use in private networks. Its intended use is documented in [RFC1918]. Addresses within this block should not appear on the public Internet. >And.. another question is if a process can use the IP address at all. >I should try it but it looks strange to me. >Because no real H/W is not related to the IP address, I wonder if a >process can bind to the IP address, and if the master process even >send to the IP address assuming that the IP address is bind to a process, >not a real machine on the net. AFAIK, the IP address info is only for building the routing table in the processes & the actual routing is done through UDP sockets (which are used here in place of the interfaces in the real routers) among the processes running in the same machine. And, you would be simply binding the various processes in the appropriate UDP ports in localhost interface ( IP address for which is 127.0.0.1 ). HTH -Ramesh From jongapar@usc.edu Thu Mar 6 03:30:40 2003 From: jongapar@usc.edu (JongAm Park) Date: Wed, 05 Mar 2003 19:30:40 -0800 Subject: [Csci551-talk] [Q] Project A In-Reply-To: <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> References: <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> Message-ID: <3E66C0E0.7080200@usc.edu> Ramesh Sarangarajan wrote: > JongAm, > > I'm not sure if it is appropriate for me to answer your question as they > were specifically addressed to TA & Professor. > You're welcome. :) > AFAIK, the IP address info is only for building the routing table in the > processes & the actual routing is done through UDP sockets (which are > used here in place of the interfaces in the real routers) among the > processes running in the same machine. And, you would be simply binding > the various processes in the appropriate UDP ports in localhost > interface ( IP address for which is 127.0.0.1 ). > Ah.. So.. what you mean is that real socket call and communications are done with the machine's IP address and ports numbers, i.e the master port number for master <=> router comm., and probably other port numbers for router <=> router comm.. While the IP addresses written in the configuration file is pure virtual one, and it should not be used in the socket funtions. Right? Then the IP addresses can be considered to a kind of ID number. Then.. everything is clear. Do you know what? I tried to assing the IP addresses to respective processes. I think that it's not possible, but because it's the basic requirement, at least it seems to be so, I tried it for a few days. :) Anyway, we should simulate that the routers and the given IP addresses are used for identifying the routers, and make it work like that they really have the IP address, right? Thank you. If I still understand it wrong, let me know. -- Try not to become a man of success but rather to become a man of value. - A. Einstein From sarangar@usc.edu Thu Mar 6 16:21:41 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Thu, 06 Mar 2003 08:21:41 -0800 Subject: [Csci551-talk] [Q] Project A In-Reply-To: <3E66C0E0.7080200@usc.edu> References: <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> Message-ID: <5.1.0.14.2.20030306081909.01ac6e98@email.usc.edu> At 07:30 PM 3/5/2003 -0800, JongAm Park wrote: >While the IP addresses written in >the configuration file is pure virtual one, and it should not be used >in the socket funtions. Right? Then the IP addresses can be considered >to a kind of ID number. Yes. That is what I meant. While real routers have physical interfaces (to which IP addresses are assigned) , our routers have specific UDP ports in their place. -Ramesh From sarangar@usc.edu Thu Mar 6 16:23:02 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Thu, 06 Mar 2003 08:23:02 -0800 Subject: [Csci551-talk] supplementary papers for mid-term? Message-ID: <5.1.0.14.2.20030306082148.01ae9ab8@email.usc.edu> Professor, Do we have to read the supplementary papers too for the mid-term? -Ramesh From gnawali@usc.edu Fri Mar 7 06:09:37 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Thu, 06 Mar 2003 22:09:37 -0800 Subject: [Csci551-talk] number of assignments Message-ID: <200303070609.h2769bWV030166@enl.usc.edu> Some of the students are curious about the total number of assignments for this semester. There will be 3-5 assignments this semester. From sarangar@usc.edu Sat Mar 8 18:33:58 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Sat, 08 Mar 2003 10:33:58 -0800 Subject: [Csci551-talk] [off-topic] Cisco VPN 3000 client for Linux? Message-ID: <5.1.0.14.2.20030308102533.00b1b5f0@email.usc.edu> Sorry for the off-topic post. I thought one of us might be able to help me :) Does anybody know where I can get Cisco VPN 3000 client for Linux? USC's wireless-net would let access only though VPN :( Unfortunately, ISD's download page has only the Windows version and I could not find it from Cisco's web site either. BTW, I thought of using the FreeS/Wan. But, as it does not have RADIUS support, it can't be used for USC VPN servers. Thanks, Ramesh From johnh@ISI.EDU Sat Mar 8 19:39:00 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 08 Mar 2003 11:39:00 -0800 Subject: [Csci551-talk] [Q] Project A In-Reply-To: <3E669049.2060902@usc.edu> Message-ID: <200303081939.h28Jd0i2004800@dash.isi.edu> The IP addresses used in the project are for internal use in your programs. You are not supposed to create real sockets bound to those IP addresses. That won't work (as you've found out), for the reason you give: >And.. another question is if a process can use the IP address at all. >I should try it but it looks strange to me. >Because no real H/W is not related to the IP address, I wonder if a >process can bind to the IP address, and if the master process even >send to the IP address assuming that the IP address is bind to a >process, not a real machine on the net. We're simulating doing routers, not doing real routers. Therefore you let the system assign ports dynamically (rather than use well known ports) and all the actual sockets will be (and must be for it to work!) on the local machine. -John Heidemann On Wed, 05 Mar 2003 16:03:21 PST, JongAm Park wrote: >How do you do, TA and Professor Heidmann. > >While I am doing the homework, there is something I'd like to ask a >question. Probably I don't understand what I should do for the project. > >I'm trying to make processes for each router. >According to the configuration file, each has its own IP address and >a mask. ( probably it's for CIDR. I should study about what the mask is >for more. ) > >The first sample configuration file contains >10.1.0.0 16 >10.2.0.0 16 >192.168.123.0 24 >192.168.101.0 24 >192.168.200.128 25 > >The last 3 IPs are private IP. However the 2 IPs, 10.x.x.x, are not. >So, when I tried to bind a process to the 10.x.x.x, it throws error msg >like this : > > router can't bind to the address : Address already in use > >So.. should I use the IP address? If so, how? > >And.. another question is if a process can use the IP address at all. >I should try it but it looks strange to me. >Because no real H/W is not related to the IP address, I wonder if a >process can bind to the IP address, and if the master process even >send to the IP address assuming that the IP address is bind to a >process, not a real machine on the net. > >Thank you very much. >-- > >Try not to become a man of success but rather to become a man of value. > - A. Einstein > From johnh@ISI.EDU Sat Mar 8 19:40:15 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 08 Mar 2003 11:40:15 -0800 Subject: [Csci551-talk] [Q] Project A In-Reply-To: <5.1.0.14.2.20030305174933.00b1a758@email.usc.edu> Message-ID: <200303081940.h28JeFhS004821@dash.isi.edu> On Wed, 05 Mar 2003 18:00:45 PST, Ramesh Sarangarajan wrote: >JongAm, > >I'm not sure if it is appropriate for me to answer your question as they >were specifically addressed to TA & Professor. > > >>The last 3 IPs are private IP. However the 2 IPs, 10.x.x.x, are not. > >http://www.rfc-editor.org/rfc/rfc3330.txt Page 1: > > 10.0.0.0/8 - This block is set aside for use in private networks. > Its intended use is documented in [RFC1918]. Addresses within this > block should not appear on the public Internet. > This is true. But not relevant to the problem JongAm is having. > >>And.. another question is if a process can use the IP address at all. >>I should try it but it looks strange to me. >>Because no real H/W is not related to the IP address, I wonder if a >>process can bind to the IP address, and if the master process even >>send to the IP address assuming that the IP address is bind to a process, >>not a real machine on the net. > >AFAIK, the IP address info is only for building the routing table in the >processes & the actual routing is done through UDP sockets (which are used >here in place of the interfaces in the real routers) among the processes >running in the same machine. And, you would be simply binding the various >processes in the appropriate UDP ports in localhost interface ( IP address >for which is 127.0.0.1 ). Correct. -John Heidemann From johnh@ISI.EDU Sat Mar 8 19:50:37 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 08 Mar 2003 11:50:37 -0800 Subject: [Csci551-talk] supplementary papers for mid-term? In-Reply-To: <5.1.0.14.2.20030306082148.01ae9ab8@email.usc.edu> Message-ID: <200303081950.h28JobXA004874@dash.isi.edu> On Thu, 06 Mar 2003 08:23:02 PST, Ramesh Sarangarajan wrote: >Professor, > >Do we have to read the supplementary papers too for the mid-term? > >-Ramesh We addressed this comment in class yesterday. I've added an Exam FAQ to the web site that reviews this question (and some others about the exam). -John Heidemann From sarangar@usc.edu Sat Mar 8 23:04:47 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Sat, 08 Mar 2003 15:04:47 -0800 Subject: [Csci551-talk] Stone & Partridge's TCP checksum paper Message-ID: <5.1.0.14.2.20030308145216.0247d118@email.usc.edu> This paper (mentioned by Professor in the class web page) reminds me strongly about the "end-to-end argument". It's quite amazing to read about so many things that could go wrong. It is interesting to read about the errors introduced in DMA engines - requiring us to clearly identify the "real" end. Same applies to the effectiveness of checksums in IPSec vs SSL. Similar to the suggestion of the authors on introducing app-level checksums, many web sites offering ISO CD image downloads also give MD5 hashes of the ISO files. However, a transparent standard way of doing such things for all data would always be helpful. -Ramesh From johnh@ISI.EDU Sun Mar 9 16:55:58 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sun, 09 Mar 2003 08:55:58 -0800 Subject: [Csci551-talk] [off-topic] Cisco VPN 3000 client for Linux? In-Reply-To: <5.1.0.14.2.20030308102533.00b1b5f0@email.usc.edu> Message-ID: <200303091655.h29GtxA3017939@dash.isi.edu> On Sat, 08 Mar 2003 10:33:58 PST, Ramesh Sarangarajan wrote: >Sorry for the off-topic post. I thought one of us might be able to help me :) > >Does anybody know where I can get Cisco VPN 3000 client for Linux? >USC's wireless-net would let access only though VPN :( > >Unfortunately, ISD's download page has only the Windows version and I could >not find it from Cisco's web site either. > >BTW, I thought of using the FreeS/Wan. But, as it does not have RADIUS >support, it can't be used for USC VPN servers. This is definitely off-topic, but because ISD's linux support is quite patchy, you may want to check out . -John Heidemann From sarangar@usc.edu Sun Mar 9 17:08:08 2003 From: sarangar@usc.edu (Ramesh Sarangarajan) Date: Sun, 09 Mar 2003 09:08:08 -0800 Subject: [Csci551-talk] [off-topic] Cisco VPN 3000 client for Linux? In-Reply-To: <200303091655.h29GtxA3017939@dash.isi.edu> References: <5.1.0.14.2.20030308102533.00b1b5f0@email.usc.edu> Message-ID: <5.1.0.14.2.20030309085955.024d3b78@email.usc.edu> At 08:55 AM 3/9/2003 -0800, John Heidemann wrote: >On Sat, 08 Mar 2003 10:33:58 PST, Ramesh Sarangarajan wrote: > >Sorry for the off-topic post. I thought one of us might be able to help > me :) > > > >Does anybody know where I can get Cisco VPN 3000 client for Linux? > >USC's wireless-net would let access only though VPN :( > > > >Unfortunately, ISD's download page has only the Windows version and I could > >not find it from Cisco's web site either. > > > >BTW, I thought of using the FreeS/Wan. But, as it does not have RADIUS > >support, it can't be used for USC VPN servers. > >This is definitely off-topic, but because ISD's linux support is quite >patchy, you may want to check out >. > > -John Heidemann Thanks, Professor. I could get my wireless card working in linux (thanks to linux-wlanng project). But, without a RADIUS capable VPN client (like the one by cisco), I won't be able to use USC wireless-net. Unfortunately, the link to the cisco's VPN client for Linux in that page - http://www.uni-konstanz.de/RZ/wlan/software/cisco-vpnclient-3.6.2/vpnclient-linux-3.6.2.A-k9.tar.gz - seems to be dead :( ......well, the page is in german - however, it's easy to interpret "Fehler 404" as "File not found 404" :) If someone could give me an active link to cisco's VPN 3000 client or any other RADIUS capable VPN client for Linux, I'd be glad. -Ramesh From sarangar@usc.edu Sun Mar 9 22:44:46 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Sun, 09 Mar 2003 14:44:46 -0800 Subject: [Csci551-talk] [off-topic] Cisco VPN 3000 client for Linux? Message-ID: <399f77394f2b.394f2b399f77@usc.edu> Thanks a lot to all those who sent me the links to Cisco-VPN client. Surprisingly, there is a copy in a server in USC: ftp://polop.usc.edu/pub/vpnclient-linux-3.6.1.Rel-k9.tar.gz The other locations sent to me by Dwipal & Gaurav in this group: http://www.hku.hk/cc/services/vpn/linux/vpnclient-linux-3.7.2.Rel-k9.tar.gz http://sdp.cit.nih.gov/downloads/vpn_tools.asp Thank for your efforts, Ramesh From gnawali@usc.edu Mon Mar 10 03:31:33 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Sun, 09 Mar 2003 19:31:33 -0800 Subject: [Csci551-talk] PA1 sample configuration file error Message-ID: <200303100331.h2A3VXuL012353@enl.usc.edu> Dear class, There was an error in the sample configuration file that were posted on the TA website. The first line of the configuration always has "stagen" in text. You are supposed to halt after stage "n". There are also some sample outputs on the TA page now. Good luck. - om_p From johnh@ISI.EDU Mon Mar 10 06:17:55 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sun, 09 Mar 2003 22:17:55 -0800 Subject: [Csci551-talk] sample csci551 midterm posted Message-ID: <200303100617.h2A6HtMW021038@dash.isi.edu> Because there was no diagnostic exam this year and there has only been one homework so far, I have made last year's midterm exam available for review on the class web site. You may wish to look at it to get an idea of the kinds of questions I'll be asking and the exam format I use. -John Heidemann From sarangar@usc.edu Mon Mar 10 14:46:46 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Mon, 10 Mar 2003 06:46:46 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs Message-ID: <56e6af56fbc5.56fbc556e6af@usc.edu> Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? I remember us agreeing (during the corresponding lecture session) that it is an application of E2E argument. But isn't tranport layer too E2E? If you agree with this, then is the right answer - BGP uses its own KEEPALIVE mechanism to avoid depending on a particular transport layer (in this case TCP) so that it can also be run on a different transport layer which does not have keepalives? -Ramesh From mordani@aludra.usc.edu Mon Mar 10 22:25:00 2003 From: mordani@aludra.usc.edu (Rohit Mordani) Date: Mon, 10 Mar 2003 14:25:00 -0800 (PST) Subject: [Csci551-talk] BGP KEEPALIVEs In-Reply-To: <56e6af56fbc5.56fbc556e6af@usc.edu> Message-ID: The BGP has to have KEEPALIVE since only the TCP flow may be alive but the BGP process that is running may have been terminated or crashed....thus the end to end problem....The BGP runs above the TCP and it too has to have KEEPALIVE msgs. rohit On Mon, 10 Mar 2003, ramesh sarangarajan wrote: > Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? > > I remember us agreeing (during the corresponding lecture session) that > it is an application of E2E argument. But isn't tranport layer too E2E? > > If you agree with this, then is the right answer - BGP uses its own > KEEPALIVE mechanism to avoid depending on a particular transport layer > (in this case TCP) so that it can also be run on a different transport > layer which does not have keepalives? > > -Ramesh > > ---- R O H I T M O R D A N I ---- rohit.mordani.com rohit.mordani.com/photoshop From sarangar@usc.edu Mon Mar 10 22:33:20 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Mon, 10 Mar 2003 14:33:20 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs Message-ID: <7b48467b2e9b.7b2e9b7b4846@usc.edu> AFAIK, TCP sockets (and hence the flows) are associated one-on-one with processes running on the machines. So, if the BGP process has crashed, how can TCP flow remain alive? In other words, without the process feeding the flow, would the flow be any longer alive? Correct me, if I'm wrong. -Ramesh ----- Original Message ----- From: Rohit Mordani Date: Monday, March 10, 2003 2:25 pm Subject: Re: [Csci551-talk] BGP KEEPALIVEs > The BGP has to have KEEPALIVE since only the TCP flow may be alive but the > BGP process that is running may have been terminated or crashed....thus > the end to end problem....The BGP runs above the TCP and it too has to > have KEEPALIVE msgs. > rohit > > On Mon, 10 Mar 2003, ramesh sarangarajan wrote: > > > Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? > > > > I remember us agreeing (during the corresponding lecture session) that > > it is an application of E2E argument. But isn't tranport layer too E2E? > > > > If you agree with this, then is the right answer - BGP uses its own > > KEEPALIVE mechanism to avoid depending on a particular transport layer > > (in this case TCP) so that it can also be run on a different transport > > layer which does not have keepalives? > > > > -Ramesh > > > > > > ---- R O H I T M O R D A N I ---- > rohit.mordani.com > rohit.mordani.com/photoshop > > From gnawali@usc.edu Mon Mar 10 23:25:47 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Mon, 10 Mar 2003 15:25:47 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs In-Reply-To: Your message of Mon, 10 Mar 2003 14:33:20 -0800 Message-ID: <200303102325.h2ANPl4k022446@enl.usc.edu> I think the TCP socket is implemented such that you might not learn about dead flows until you try to read/write from them. This might be related to this thread of discussion. you wrote: > AFAIK, TCP sockets (and hence the flows) are associated one-on-one with > processes running on the machines. So, if the BGP process has crashed, how ca *n > TCP flow remain alive? In other words, without the process feeding the flow, > would the flow be any longer alive? > > Correct me, if I'm wrong. > > -Ramesh > > ----- Original Message ----- > From: Rohit Mordani > Date: Monday, March 10, 2003 2:25 pm > Subject: Re: [Csci551-talk] BGP KEEPALIVEs > > > The BGP has to have KEEPALIVE since only the TCP flow may be alive but the > > BGP process that is running may have been terminated or crashed....thus > > the end to end problem....The BGP runs above the TCP and it too has to > > have KEEPALIVE msgs. > > rohit > > > > On Mon, 10 Mar 2003, ramesh sarangarajan wrote: > > > > > Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? > > > > > > I remember us agreeing (during the corresponding lecture session) that > > > it is an application of E2E argument. But isn't tranport layer too E2E? > > > > > > If you agree with this, then is the right answer - BGP uses its own > > > KEEPALIVE mechanism to avoid depending on a particular transport layer > > > (in this case TCP) so that it can also be run on a different transport > > > layer which does not have keepalives? > > > > > > -Ramesh > > > > > > > > > > ---- R O H I T M O R D A N I ---- > > rohit.mordani.com > > rohit.mordani.com/photoshop > > > > From sarangar@usc.edu Tue Mar 11 00:47:17 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Mon, 10 Mar 2003 16:47:17 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs Message-ID: <63f9b68657.6865763f9b@usc.edu> The following text is from RFC 1122 page 100: ----------------------------- 4.2.3.6 TCP Keep-Alives Implementors MAY include "keep-alives" in their TCP implementations, although this practice is not universally accepted. If keep-alives are included, the application MUST be able to turn them on or off for each TCP connection, and they MUST default to off. Keep-alive packets MUST only be sent when no data or acknowledgement packets have been received for the connection within an interval. This interval MUST be configurable and MUST default to no less than two hours. It is extremely important to remember that ACK segments that contain no data are not reliably transmitted by TCP. Consequently, if a keep-alive mechanism is implemented it MUST NOT interpret failure to respond to any specific probe as a dead connection. An implementation SHOULD send a keep-alive segment with no data; however, it MAY be configurable to send a keep-alive segment containing one garbage octet, for compatibility with erroneous TCP implementations. ------------------------------- Seems that TCP specification does not include keep-alives, yet the implementors chose to have keep-alive timers as an OPTION. So, it seems that BGP folks chose to have their own keep-alives because they could not rely on a common yet not standard option in TCP implementations. -Ramesh ----- Original Message ----- From: Omprakash Gnawali Date: Monday, March 10, 2003 3:25 pm Subject: Re: [Csci551-talk] BGP KEEPALIVEs > > I think the TCP socket is implemented such that you might not learn > about dead flows until you try to read/write from them. This might be > related to this thread of discussion. > > you wrote: > > AFAIK, TCP sockets (and hence the flows) are associated one-on-one with > > processes running on the machines. So, if the BGP process has crashed, > how ca > *n > > TCP flow remain alive? In other words, without the process feeding the flow, > > would the flow be any longer alive? > > > > Correct me, if I'm wrong. > > > > -Ramesh > > > > ----- Original Message ----- > > From: Rohit Mordani > > Date: Monday, March 10, 2003 2:25 pm > > Subject: Re: [Csci551-talk] BGP KEEPALIVEs > > > > > The BGP has to have KEEPALIVE since only the TCP flow may be alive but the > > > BGP process that is running may have been terminated or crashed....thus > > > the end to end problem....The BGP runs above the TCP and it too has to > > > have KEEPALIVE msgs. > > > rohit > > > > > > On Mon, 10 Mar 2003, ramesh sarangarajan wrote: > > > > > > > Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? > > > > > > > > I remember us agreeing (during the corresponding lecture session) that > > > > it is an application of E2E argument. But isn't tranport layer too E2E? > > > > > > > > If you agree with this, then is the right answer - BGP uses its own > > > > KEEPALIVE mechanism to avoid depending on a particular transport layer > > > > (in this case TCP) so that it can also be run on a different transport > > > > layer which does not have keepalives? > > > > > > > > -Ramesh > > > > > > > > > > > > > > ---- R O H I T M O R D A N I ---- > > > rohit.mordani.com > > > rohit.mordani.com/photoshop > > > > > > > From jongampark@attbi.com Mon Mar 10 04:47:33 2003 From: jongampark@attbi.com (JongAm Park) Date: Sun, 09 Mar 2003 20:47:33 -0800 Subject: [Csci551-talk] [Q] Can this be possible? Message-ID: <3E6C18E5.6000902@attbi.com> Hello. I have another problem with the homework project. Because there is no decent debugger on the Unix, I wrote almost same code on Windows, too. Errors are figured out with the Visual C++ debugger. I assume that the processes, which represent routers, are indepentedent device, so to speak. UDP communication is used for communication among them. They don't know what router sends first and what router sends later. It's not a connection oriented, so I don't use any listen, accept call. So, the things I can use are only functions for receiving, sending, and select. Their codes are identical. So, if one start to receive first, then all of them listen first, or vice versa. So, problem happens. When I wrote the code to start with sending, they can't communicate one another. Receive function throws "Connection Reset by Peer". Or if I make them to start listen first, there is a similar problem, also. This is the result of codes for Unix, and I also noticed that codes for Windows has same problem. I think I should use the select(). However I think that it can't solve the problem. Coudl someone give some advice to solve this problem? Thank you. -- Try not to become a man of success but rather to become a man of value. - A. Einstein =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= JongAm Park http://my.dreamwiz.com/jongam jongam@myrealbox.com MSN : jongampark@hotmail.com H.P)213-820-8943 ICQ : 32697214 From rajgarhi@usc.edu Wed Mar 12 01:16:21 2003 From: rajgarhi@usc.edu (abhishek rajgarhia) Date: Tue, 11 Mar 2003 17:16:21 -0800 Subject: [Csci551-talk] Re: Csci551-talk digest, Vol 1 #102 - 5 msgs Message-ID: <47c50f477c2c.477c2c47c50f@usc.edu> > AFAIK, TCP sockets (and hence the flows) are associated one-on-one with > processes running on the machines. So, if the BGP process has crashed, how can > TCP flow remain alive? In other words, without the process feeding the flow, > would the flow be any longer alive? > > Correct me, if I'm wrong. > > -Ramesh > Hi, Assume the the BGP process starts a TCP connection and then crashes. The transport layer will have the TCB corresponding to the connection made by the BGP process. I think the TCB still exists even after the crash of the BGP process. If the TCB still exists the TCP keepalives will be sent, even though the BGP process has crashed. I dont know of any mechanism in TCP which can detect flows whose end point process has crashed. If there is such a mechanism then I guess this argument doesn't hold. Please correct me if I am wrong. Thank you Regards Abhishek From sarangar@usc.edu Wed Mar 12 05:01:10 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Tue, 11 Mar 2003 21:01:10 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs Message-ID: <552463556a88.556a88552463@usc.edu> > > AFAIK, TCP sockets (and hence the flows) are associated one-on-one with > > processes running on the machines. So, if the BGP process has crashed, > how can > > TCP flow remain alive? In other words, without the process feeding the flow, > > would the flow be any longer alive? > > Assume the the BGP process starts a TCP connection and then crashes. The > transport layer will have the TCB corresponding to the connection made by > the BGP process. I think the TCB still exists even after the crash of the > BGP process. If the TCB still exists the TCP keepalives will be sent, even > though the BGP process has crashed. I dont know of any mechanism in TCP > which can detect flows whose end point process has crashed. If there is > such a mechanism then I guess this argument doesn't hold. > Richard Stevens' Unix Network Programming Book 2nd Ed, Section 7.5, page 186 has figure 7.5 shows ways to detect various TCP conditions. It says - If a connection is idle, keepalive socket option is set and the peer process crashes, the peer TCP sends a FIN, which we can detect immediately using "select". -Ramesh From johnh@ISI.EDU Wed Mar 12 21:44:35 2003 From: johnh@ISI.EDU (John Heidemann) Date: Wed, 12 Mar 2003 13:44:35 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs In-Reply-To: <200303102325.h2ANPl4k022446@enl.usc.edu> Message-ID: <200303122144.h2CLiZt7003066@dash.isi.edu> On Mon, 10 Mar 2003 15:25:47 PST, Omprakash Gnawali wrote: > >I think the TCP socket is implemented such that you might not learn >about dead flows until you try to read/write from them. This might be >related to this thread of discussion. Also, suppose the BGP process is not crashed (in which case the endpoints will find out that the connection is broken), but instead is just hung in an infinite loop? -John Heidemann > >you wrote: >> AFAIK, TCP sockets (and hence the flows) are associated one-on-one with >> processes running on the machines. So, if the BGP process has crashed, how ca > *n >> TCP flow remain alive? In other words, without the process feeding the flow, >> would the flow be any longer alive? >> >> Correct me, if I'm wrong. >> >> -Ramesh >> >> ----- Original Message ----- >> From: Rohit Mordani >> Date: Monday, March 10, 2003 2:25 pm >> Subject: Re: [Csci551-talk] BGP KEEPALIVEs >> >> > The BGP has to have KEEPALIVE since only the TCP flow may be alive but the >> > BGP process that is running may have been terminated or crashed....thus >> > the end to end problem....The BGP runs above the TCP and it too has to >> > have KEEPALIVE msgs. >> > rohit >> > >> > On Mon, 10 Mar 2003, ramesh sarangarajan wrote: >> > >> > > Why don't BGP use the underlying transport layer's KEEPALIVE mechanism? >> > > >> > > I remember us agreeing (during the corresponding lecture session) that >> > > it is an application of E2E argument. But isn't tranport layer too E2E? >> > > >> > > If you agree with this, then is the right answer - BGP uses its own >> > > KEEPALIVE mechanism to avoid depending on a particular transport layer >> > > (in this case TCP) so that it can also be run on a different transport >> > > layer which does not have keepalives? >> > > >> > > -Ramesh >> > > >> > > >> > >> > ---- R O H I T M O R D A N I ---- >> > rohit.mordani.com >> > rohit.mordani.com/photoshop >> > >> > From johnh@ISI.EDU Wed Mar 12 21:56:59 2003 From: johnh@ISI.EDU (John Heidemann) Date: Wed, 12 Mar 2003 13:56:59 -0800 Subject: [Csci551-talk] [Q] Can this be possible? In-Reply-To: <3E6C18E5.6000902@attbi.com> Message-ID: <200303122156.h2CLuxbA003162@dash.isi.edu> On Sun, 09 Mar 2003 20:47:33 PST, JongAm Park wrote: >Hello. > >I have another problem with the homework project. >Because there is no decent debugger on the Unix, I wrote almost >same code on Windows, too. Errors are figured out with the >Visual C++ debugger. > >I assume that the processes, which represent routers, are indepentedent >device, so to speak. UDP communication is used for communication >among them. They don't know what router sends first and what router >sends later. >It's not a connection oriented, so I don't use any listen, accept call. >So, the things I can use are only functions for receiving, sending, >and select. >Their codes are identical. So, if one start to receive first, then >all of them listen first, or vice versa. >So, problem happens. When I wrote the code to start with sending, >they can't communicate one another. Receive function throws >"Connection Reset by Peer". >Or if I make them to start listen first, there is a similar problem, >also. This is the result of codes for Unix, and I also noticed that >codes for Windows has same problem. > >I think I should use the select(). However I think that it can't solve >the problem. > >Coudl someone give some advice to solve this problem? You're right, that in general, routers can't block waiting for input from someone else---to do so would make for a very unreliable system (what if the other end was turned off when you were waiting for it). This is why the assignment suggests that you use event driven programming and select(). I suggest you look at the timer library and sample code that is on the TA web page. (Also, by the way, there are several reasonable debuggers for Unix. Gdb is quite powerful, and ddd is a fancy graphical front end if you like such things. However, if you prefer, you're certainly welcome to write your code on Windows and port it to Solaris before submitting it.) -John Heidemann From johnh@ISI.EDU Thu Mar 13 01:01:45 2003 From: johnh@ISI.EDU (John Heidemann) Date: Wed, 12 Mar 2003 17:01:45 -0800 Subject: [Csci551-talk] Re: Csci551-talk digest, Vol 1 #102 - 5 msgs In-Reply-To: <47c50f477c2c.477c2c47c50f@usc.edu> Message-ID: <200303130101.h2D11jJ3005495@dash.isi.edu> On Tue, 11 Mar 2003 17:16:21 PST, abhishek rajgarhia wrote: > > >> AFAIK, TCP sockets (and hence the flows) are associated one-on-one with >> processes running on the machines. So, if the BGP process has crashed, how can >> TCP flow remain alive? In other words, without the process feeding the flow, >> would the flow be any longer alive? >> >> Correct me, if I'm wrong. >> >> -Ramesh >> > >Hi, > >Assume the the BGP process starts a TCP connection and then crashes. The transport layer will have the TCB corresponding to the connection made by the BGP process. I think the TCB still exists even after the crash of the BGP process. If the TCB still exists the TCP keepalives will be sent, even though the BGP process has crashed. I dont know of any mechanism in TCP which can detect flows whose end point process has crashed. If there is such a mechanism then I guess this argument doesn't hold. > >Please correct me if I am wrong. Connections go away if all processes that use them stop. "Go away" means that they are actually closed (by the kernel) on the process's behalf. (You can confirm by looking at, for example, the FreeBSD source code. Stevens's "TCP/IP Illustrated" which is usually quite good about these sorts of issues doesn't address this issue.) Thus process termination is not the issue, but other kinds of process failures would be detected via app-level checks (and not by TCP-level checks). -John Heidemann From sarangar@usc.edu Thu Mar 13 09:38:23 2003 From: sarangar@usc.edu (ramesh sarangarajan) Date: Thu, 13 Mar 2003 01:38:23 -0800 Subject: [Csci551-talk] BGP KEEPALIVEs Message-ID: > On Tue, 11 Mar 2003 17:16:21 PST, abhishek rajgarhia wrote: > > > > > >> AFAIK, TCP sockets (and hence the flows) are associated one-on-one with > >> processes running on the machines. So, if the BGP process has crashed, > how can > >> TCP flow remain alive? In other words, without the process feeding the > flow,>> would the flow be any longer alive? > >> > >> Correct me, if I'm wrong. > >> > >> -Ramesh > >> > > > >Hi, > > > >Assume the the BGP process starts a TCP connection and then crashes. The > transport layer will have the TCB corresponding to the connection made by > the BGP process. I think the TCB still exists even after the crash of the > BGP process. If the TCB still exists the TCP keepalives will be sent, even > though the BGP process has crashed. I dont know of any mechanism in TCP > which can detect flows whose end point process has crashed. If there is > such a mechanism then I guess this argument doesn't hold. > > > >Please correct me if I am wrong. > > Connections go away if all processes that use them stop. "Go away" > means that they are actually closed (by the kernel) on the process's > behalf. (You can confirm by looking at, for example, the FreeBSD > source code. Stevens's "TCP/IP Illustrated" which is usually quite > good about these sorts of issues doesn't address this issue.) > > Thus process termination is not the issue, but other kinds of process > failures would be detected via app-level checks (and not by TCP-level > checks). > > -John Heidemann > One can imagine ways by which OS can be made to detect app anomalies besides simple crash, but again (like the issue of NATs), it requires case by case modifications, which don't scale in a generic way. Sometimes, I wonder if E2E has become one of the few things that I've really started believing in :-) -Ramesh From shshanks@usc.edu Thu Mar 13 21:29:28 2003 From: shshanks@usc.edu (Shshank) Date: Thu, 13 Mar 2003 13:29:28 -0800 Subject: [Csci551-talk] graphical development environs In-Reply-To: <200303132005.h2DK5SZ07404@gamma.isi.edu> Message-ID: > (Also, by the way, there are several reasonable debuggers for Unix. > Gdb is quite powerful, and ddd is a fancy graphical front end if you > like such things. However, if you prefer, you're certainly welcome to > write your code on Windows and port it to Solaris before submitting > it.) The following graphical development environments, supported by ISD, might be useful too: objectcenter and codecenter. Best, -Sharma From jongapar@usc.edu Mon Mar 17 06:37:10 2003 From: jongapar@usc.edu (JongAm Park) Date: Sun, 16 Mar 2003 22:37:10 -0800 Subject: [Csci551-talk] [Q] Starting UDP comm. among routers? Message-ID: <3E756D16.3000206@usc.edu> Hello. I have difficulty in starting the UDP communication among router processes. Because they are independent, they start "sending" first. However, I assume that what they send is stored in the out buffer of their side and in buffer of the target process. However, it seems to me that the target process( receiver ) can't catch the incoming one when it was sent to them before they didn't prepared to receive it. Could you give some some hint? Thank you. -- "Try not to become a man of success but rather to become a man of value." -- A. Einstein =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= JongAm Park http://my.dreamwiz.com/jongam jongam@myrealbox.com MSN : jongampark@hotmail.com Tel)213-251-9592 ICQ : 32697214 H.P)213-820-8943 AIM : JongAm From johnh@ISI.EDU Mon Mar 17 17:34:16 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 17 Mar 2003 09:34:16 -0800 Subject: [Csci551-talk] [Q] Starting UDP comm. among routers? In-Reply-To: <3E756D16.3000206@usc.edu> Message-ID: <200303171734.h2HHYGf9016704@dash.isi.edu> On Sun, 16 Mar 2003 22:37:10 PST, JongAm Park wrote: >Hello. > >I have difficulty in starting the UDP communication >among router processes. > >Because they are independent, they start "sending" first. >However, I assume that what they send is stored >in the out buffer of their side and in buffer of >the target process. However, it seems to me that >the target process( receiver ) can't catch the incoming >one when it was sent to them before they didn't prepared >to receive it. > >Could you give some some hint? Presumably you're saying they're sending before the other routers are completely set up? In that case, you have several choices: 1. You have to do reliability anyway, for the last part of the project, so you can consider messages lost during "boot" as an early way to test your reliability code. 2. You could add a delay before you really start going to give the other routers time to configure. -John Heidemann > >Thank you. >-- >"Try not to become a man of success but rather to become a man of value." > -- A. Einstein > >=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= >JongAm Park http://my.dreamwiz.com/jongam >jongam@myrealbox.com MSN : jongampark@hotmail.com >Tel)213-251-9592 ICQ : 32697214 >H.P)213-820-8943 AIM : JongAm From shetye@usc.edu Mon Mar 17 19:27:38 2003 From: shetye@usc.edu (siddharth shetye) Date: Tue, 18 Mar 2003 00:27:38 +0500 Subject: [Csci551-talk] Max number of routers ?? Message-ID: <15ab21815ade70.15ade7015ab218@usc.edu> This one is for the professor and the TA, I was wondering, how many routers do we have to consider as the max number of routers for our project A ? Can we assume 100 (or some other appropriate number) as an upper limit (eg MAXROUTERS 100) ? I'm sure I'm going to have a lot of project questions, but for now this is it ! Thank you, Siddharth From johnh@ISI.EDU Mon Mar 17 21:09:12 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 17 Mar 2003 13:09:12 -0800 Subject: [Csci551-talk] Max number of routers ?? In-Reply-To: <15ab21815ade70.15ade7015ab218@usc.edu> Message-ID: <200303172109.h2HL9CrG027855@dash.isi.edu> On Tue, 18 Mar 2003 00:27:38 +0500, siddharth shetye wrote: >This one is for the professor and the TA, > >I was wondering, how many routers do we have to consider as the max number of routers for our project A ? Can we assume 100 (or some other appropriate number) as an upper limit (eg MAXROUTERS 100) ? > >I'm sure I'm going to have a lot of project questions, but for now this is it ! > >Thank you, >Siddharth Yes, you may assume no more than 100 routers will be provided. However, you're strongly encouraged to not make your data structures size-dependent. (And remember that the format of the DV message is pre-specified.) -John Heidemann From johnh@ISI.EDU Tue Mar 18 06:40:03 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 17 Mar 2003 22:40:03 -0800 Subject: [Csci551-talk] small Project A change Message-ID: <200303180640.h2I6e3pX006716@dash.isi.edu> There has been a small, optional change to the Project A DV message format. You may wish to check out the assignment to see the updated format. There is no requirement to use the new format (you may use the old format with no penalty), but you may find the new format allows a slightly easier implementation. -John Heidemann From johnh@ISI.EDU Tue Mar 18 16:57:53 2003 From: johnh@ISI.EDU (John Heidemann) Date: Tue, 18 Mar 2003 08:57:53 -0800 Subject: [Csci551-talk] small Project A change In-Reply-To: <17db4f217d505f.17d505f17db4f2@usc.edu> Message-ID: <200303181657.h2IGvr1t002510@dash.isi.edu> On Tue, 18 Mar 2003, a student asked: [about project A:] >A) Do we have to detect whether the input file format is correct or there is some information missing. Say, in the edges information, the info is > 1 2 2 3 3 0 0. > But after 0, an Ip address is the next input. This is an error in that case. Do we have to deal these conditions. >B) No stage x line appears. and earlier, another student asked: [Do I have to:] > 1.check for the minimum links needed for all routers to be connected > 2.worry aboout ip addresses in hex but worry only about decimal dot form. > 3.invalid IP addresses(containing aplhabets special char other than".") > 4.invalid entries for number of routers/loss rate/ edges Answer: We promise that the input will be syntatically correct. This means, we won't have hex IP addresses, or put string where you would expect an integer. Or, we will not have a comment that does not start with a '#'. And things like that. Also, we won't have an inconsistent or non-sensical input file, either. I.e., saying there are 5 routers but having config info for only 4, or having disconnected routers. Or having a drop rate that is negative or more than 100%. However, you may find it is helpful in debugging to add some code to sanity check your inputs. Of the second batch of questions, 1 is nonsensical 2+3 are not according to spec and 4 is inconsistent Of the first two questions A and B are syntatically incorrect/not according to spec. If you look at the sample inputs on the TA web page you should have a reasonable sense of what to expect. (Although you may want to write "test input" yourself to cover YOUR code.) I expect that, as graduate students, you can write parsers that are not completely brittle. You should be able to handle multiple comments, variable amounts of whitespace, etc. But this is not a compiler class, but a networking class, so writing a fancy parser is not the goal. -John Heidemann From rajgarhi@usc.edu Wed Mar 19 11:00:39 2003 From: rajgarhi@usc.edu (abhishek rajgarhia) Date: Wed, 19 Mar 2003 03:00:39 -0800 Subject: [Csci551-talk] Project queries Message-ID: <1ae89c81aed07d.1aed07d1ae89c8@usc.edu> Hi, Had the following queries regarding the queries. 1) We are supposed to display number of messages sent by a router. Should we include acknowledgments? Should we include retransmissions? 2) We are supposed to display number of messages received by a router. Should we include acknowledgements? Should we include retransmissions of old messages? Should we include messages received out of order? 3) The output for internal routes and external routes is different. For external routes we have to output the external router id and the internal router id where the path was injected. How should we distinguish between an external route and internal route? Should we use a separate field in the DV update message or can we assume if the destination router id is negative than the route is an external route. Thank you Regards Abhishek From johnh@ISI.EDU Wed Mar 19 17:08:24 2003 From: johnh@ISI.EDU (John Heidemann) Date: Wed, 19 Mar 2003 09:08:24 -0800 Subject: [Csci551-talk] Project queries In-Reply-To: <1ae89c81aed07d.1aed07d1ae89c8@usc.edu> Message-ID: <200303191708.h2JH8OpH005598@dash.isi.edu> On Wed, 19 Mar 2003 03:00:39 PST, abhishek rajgarhia wrote: >Hi, > >Had the following queries regarding the queries. > >1) We are supposed to display number of messages sent by a router. Should we include acknowledgments? Should we include retransmissions? Messages sent include *everything* that is sent. >2) We are supposed to display number of messages received by a router. >Should we include acknowledgements? Should we include retransmissions of old messages? Should we include messages received out of order? Messages received include *everything* that is received, but not messages that you receive but decide to drop before processing (due to loss modeling in stage 3). >3) The output for internal routes and external routes is different. For external routes we have to output the external router id and the internal router id where the path was injected. How should we distinguish between an external route and internal route? Should we use a separate field in the DV update message or can we assume if the destination router id is negative than the route is an external route. Please follow the output specifications in the project description. You should not have to make assumptions about destination router IDs in your code. -John Heidemann From jongapar@usc.edu Wed Mar 19 19:41:40 2003 From: jongapar@usc.edu (JongAm Park) Date: Wed, 19 Mar 2003 11:41:40 -0800 Subject: [Csci551-talk] [Q] Another question for the project. Message-ID: <3E78C7F4.5080301@usc.edu> Hello. Instead of doing things step by step, I read whole explanation to prevent unneccessary work or changing of program structure. As a result, there is something I'd like to ask. 1. When starting stage 2, 3, and 4, the procedure of stage 1 should be processed. Is it correct? I think it should be. ( So, I didn't make my source code stop at stage 1. ) 2. The DV message There seem to be two message format. One(1) is the one before "... then for each route", and the other(2) is the one after the the phrase. However, in some way, they seem to be combined one, not separated. I mean, the (1) should be included basically, and the (2) is added to (1) for routing information it contains. Is this correct? 3. On page 4, above the line, messsages-sent A, messages-received B..., there is a sentence, "After each version of the routing table.. ". Actually, each router send and receive continuously. Not "sending this, this and this, and receive this,this and this, and I finished step 1." So.. what is the definition of the term, "version"? If a routing table is updated, or chaged, is it considered a "version"? 4. On page 2, "The sender must sent a timer.. ". Doesn't the timer ticks on the sender side and check if ACK is received before timeout? I'm sorry for lots of questions. Maybe I have no enough time to do the homework. Thank you. -- "Try not to become a man of success but rather to become a man of value." -- A. Einstein =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= JongAm Park http://my.dreamwiz.com/jongam jongam@myrealbox.com MSN : jongampark@hotmail.com Tel)213-251-9592 ICQ : 32697214 H.P)213-820-8943 AIM : JongAm From jongapar@usc.edu Wed Mar 19 20:08:37 2003 From: jongapar@usc.edu (JongAm Park) Date: Wed, 19 Mar 2003 12:08:37 -0800 Subject: [Csci551-talk] [Q] Another question I missed. Message-ID: <3E78CE45.202@usc.edu> I'm sorry that I didn't ask this in my previous post. Although I started UDP communication, I worry about the method I chose. According to the explanation only TCP port is assigned dynaically. So, I assigned the UDP ports based on the TCP port. Well, it's a kind of "dynamic". It's not the same one as how the TCP port is dynamically assigned. Another question is.. What is the "the first message a router can send to its peers is a msg with 0 neighboring links". Is it just for "OK, I'm ready to send and receive ( due to process creation. )"? Thank you again. -- "Try not to become a man of success but rather to become a man of value." -- A. Einstein =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= JongAm Park http://my.dreamwiz.com/jongam jongam@myrealbox.com MSN : jongampark@hotmail.com Tel)213-251-9592 ICQ : 32697214 H.P)213-820-8943 AIM : JongAm From jongapar@usc.edu Wed Mar 19 20:40:32 2003 From: jongapar@usc.edu (JongAm Park) Date: Wed, 19 Mar 2003 12:40:32 -0800 Subject: [Csci551-talk] [Q] Another question for the project. In-Reply-To: <1bf09101bea2d8.1bea2d81bf0910@usc.edu> References: <1bf09101bea2d8.1bea2d81bf0910@usc.edu> Message-ID: <3E78D5C0.1040208@usc.edu> Thank you vor your answer! shubhada sampigethaya wrote: > 2. I think the way to interpret the DV msgs is............ In each DV msg sent, the first part only occurs once and the part "for each route" occurs more than once depending on the no.of routes in its routing table of the router that sends the DV msg. Thank you for your answer. But I don't quite get it. Could you explain it more? When to send the first part and when to send the second part? -- "Try not to become a man of success but rather to become a man of value." -- A. Einstein =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= JongAm Park http://my.dreamwiz.com/jongam jongam@myrealbox.com MSN : jongampark@hotmail.com Tel)213-251-9592 ICQ : 32697214 H.P)213-820-8943 AIM : JongAm From sbhavsar@usc.edu Thu Mar 20 06:28:08 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Wed, 19 Mar 2003 22:28:08 -0800 Subject: [Csci551-talk] Packet format Q Message-ID: <1d99eec1d9b2ee.1d9b2ee1d99eec@usc.edu> Respectes Sir , Is the "last hop id " field the same as the "last hop router" or the "origin router" field (depending on whether route are appended in 1...n order or n..1 order ? Also are we allowed to consider the router-ids in the path as 1..n or n...1 whichever we like ? Siddharth ----- Original Message ----- From: John Heidemann Date: Tuesday, March 18, 2003 8:57 am Subject: Re: [Csci551-talk] small Project A change > On Tue, 18 Mar 2003, a student asked: > [about project A:] > >A) Do we have to detect whether the input file format is correct or there > is some information missing. Say, in the edges information, the info is > > 1 2 2 3 3 0 0. > > But after 0, an Ip address is the next input. This is an error in that > case. Do we have to deal these conditions. > >B) No stage x line appears. > > and earlier, another student asked: > [Do I have to:] > > 1.check for the minimum links needed for all routers to be connected > > 2.worry aboout ip addresses in hex but worry only about decimal dot > form. > > 3.invalid IP addresses(containing aplhabets special char other than".") > > 4.invalid entries for number of routers/loss rate/ edges > > Answer: > > We promise that the input will be syntatically correct. This means, > we won't have hex IP addresses, or put string where you would expect > an integer. Or, we will not have a comment that does not start with a > '#'. And things like that. > > Also, we won't have an inconsistent or non-sensical input file, > either. I.e., saying there are 5 routers but having config info for > only 4, or having disconnected routers. Or having a drop rate that is > negative or more than 100%. However, you may find it is helpful in > debugging to add some code to sanity check your inputs. > > Of the second batch of questions, > 1 is nonsensical > 2+3 are not according to spec > and 4 is inconsistent > > Of the first two questions > A and B are syntatically incorrect/not according to spec. > > > If you look at the sample inputs on the TA web page you should have a > reasonable sense of what to expect. (Although you may want to write > "test input" yourself to cover YOUR code.) > > > I expect that, as graduate students, you can write parsers that are > not completely brittle. You should be able to handle multiple > comments, variable amounts of whitespace, etc. > > But this is not a compiler class, but a networking class, so writing a > fancy parser is not the goal. > > -John Heidemann > > From sbhavsar@usc.edu Thu Mar 20 07:49:20 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Wed, 19 Mar 2003 23:49:20 -0800 Subject: [Csci551-talk] Router id and IP Q Message-ID: <1dc24c91dbcd20.1dbcd201dc24c9@usc.edu> Respected Sir , Also can we assume a one-one mapping between the ip addresses and router-ids ? I mean can we assume that each router has a single IP address ? Siddharth ----- Original Message ----- From: siddharth bhavsar Date: Wednesday, March 19, 2003 10:28 pm Subject: Packet format Q > Respectes Sir , > Is the "last hop id " field the same as the "last hop router" or the > "origin router" field (depending on whether route are appended in 1...n > order or n..1 order ? > Also are we allowed to consider the router-ids in the path as 1..n or > n...1 whichever we like ? > > Siddharth > > ----- Original Message ----- > From: John Heidemann > Date: Tuesday, March 18, 2003 8:57 am > Subject: Re: [Csci551-talk] small Project A change > > > On Tue, 18 Mar 2003, a student asked: > > [about project A:] > > >A) Do we have to detect whether the input file format is correct or > there > > is some information missing. Say, in the edges information, the info is > > > 1 2 2 3 3 0 0. > > > But after 0, an Ip address is the next input. This is an error in > that > > case. Do we have to deal these conditions. > > >B) No stage x line appears. > > > > and earlier, another student asked: > > [Do I have to:] > > > 1.check for the minimum links needed for all routers to be connected > > > 2.worry aboout ip addresses in hex but worry only about decimal dot > > form. > > > 3.invalid IP addresses(containing aplhabets special char other than".") > > > 4.invalid entries for number of routers/loss rate/ edges > > > > Answer: > > > > We promise that the input will be syntatically correct. This means, > > we won't have hex IP addresses, or put string where you would expect > > an integer. Or, we will not have a comment that does not start with a > > '#'. And things like that. > > > > Also, we won't have an inconsistent or non-sensical input file, > > either. I.e., saying there are 5 routers but having config info for > > only 4, or having disconnected routers. Or having a drop rate that is > > negative or more than 100%. However, you may find it is helpful in > > debugging to add some code to sanity check your inputs. > > > > Of the second batch of questions, > > 1 is nonsensical > > 2+3 are not according to spec > > and 4 is inconsistent > > > > Of the first two questions > > A and B are syntatically incorrect/not according to spec. > > > > > > If you look at the sample inputs on the TA web page you should have a > > reasonable sense of what to expect. (Although you may want to write > > "test input" yourself to cover YOUR code.) > > > > > > I expect that, as graduate students, you can write parsers that are > > not completely brittle. You should be able to handle multiple > > comments, variable amounts of whitespace, etc. > > > > But this is not a compiler class, but a networking class, so writing a > > fancy parser is not the goal. > > > > -John Heidemann > > > > > From shrivast@usc.edu Thu Mar 20 11:48:03 2003 From: shrivast@usc.edu (priyank shrivastava) Date: Thu, 20 Mar 2003 03:48:03 -0800 Subject: [Csci551-talk] DV message question Message-ID: <1decf881de7291.1de72911decf88@usc.edu> hi! 1. What is the need of having the fields "last hop router" - "next to last hop router" - ...... - "origin router"? If it is just to find the next-hop for the routing table of a particular router then that could also be found by maintaining update states after each routing table change which occurs with the receiving of DV messages. Why do we need those fields then? Could you please give a theoretical example of how it works too? 2. If we do have the above fields in the DV message then obviously the DV message becomes variable in length. Another reason of the DV message being variable in size is the number of routes contained in it. Could you please suggest a data structure for it? Sincerely, Priyank From sbhavsar@usc.edu Thu Mar 20 16:45:30 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Thu, 20 Mar 2003 08:45:30 -0800 Subject: [Csci551-talk] DV message question Message-ID: <1e2395b1e1cd7a.1e1cd7a1e2395b@usc.edu> ----- Original Message ----- From: priyank shrivastava Date: Thursday, March 20, 2003 3:48 am Subject: [Csci551-talk] DV message question > hi! > > 1. What is the need of having the fields "last hop router" - "next to > last hop router" - ...... - "origin router"? > > If it is just to find the next-hop for the routing table of a > particular router then that could also be found by maintaining update > states after each routing table change which occurs with the receiving of > DV messages. Why do we need those fields then? > > Could you please give a theoretical example of how it works too? I think the purpose of this is to prevent the looping problem ..remeber the split horizon hack and stuff ? > > > 2. If we do have the above fields in the DV message then obviously the DV > message becomes variable in length. Another reason of the DV message being > variable in size is the number of routes contained in it. Could you > please suggest a data structure for it? > A working data structure could be vector where my class would have fields including a vecotor for the varous paths . hope this helps . Siddharth > > Sincerely, > Priyank > > From sbhavsar@usc.edu Thu Mar 20 17:02:22 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Thu, 20 Mar 2003 09:02:22 -0800 Subject: [Csci551-talk] Lowest Id ? Message-ID: <1e283431e2c28c.1e2c28c1e28343@usc.edu> Hi , Could anybody let me know what does lowest id of the origin router on the link mean ? say i have router 1--2---3---4---5 and i am considering routing table calc at 1 for the route to 5 . So what is the origin router in this path ? is it not 5 itself ? Siddharth ----- Original Message ----- From: siddharth bhavsar Date: Thursday, March 20, 2003 8:45 am Subject: Re: [Csci551-talk] DV message question > > > ----- Original Message ----- > From: priyank shrivastava > Date: Thursday, March 20, 2003 3:48 am > Subject: [Csci551-talk] DV message question > > > hi! > > > > 1. What is the need of having the fields "last hop router" - "next to > > last hop router" - ...... - "origin router"? > > > > If it is just to find the next-hop for the routing table of a > > particular router then that could also be found by maintaining update > > states after each routing table change which occurs with the receiving > of > > DV messages. Why do we need those fields then? > > > > Could you please give a theoretical example of how it works too? > > I think the purpose of this is to prevent the looping problem ..remeber > the split horizon hack and stuff ? > > > > > > 2. If we do have the above fields in the DV message then obviously the > DV > > message becomes variable in length. Another reason of the DV message > being > > variable in size is the number of routes contained in it. Could you > > please suggest a data structure for it? > > > A working data structure could be vector where my class would > have fields including a vecotor for the varous paths . > > hope this helps . > Siddharth > > > > Sincerely, > > Priyank > > > > > > From johnh@ISI.EDU Thu Mar 20 17:45:21 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 09:45:21 -0800 Subject: [Csci551-talk] [Q] Another question for the project. In-Reply-To: <3E78C7F4.5080301@usc.edu> Message-ID: <200303201745.h2KHjLqS010414@dash.isi.edu> On Wed, 19 Mar 2003 11:41:40 PST, JongAm Park wrote: >Hello. > >Instead of doing things step by step, I read whole explanation >to prevent unneccessary work or changing of program structure. > >As a result, there is something I'd like to ask. > >1. When starting stage 2, 3, and 4, the procedure of stage 1 should > be processed. Is it correct? I think it should be. > ( So, I didn't make my source code stop at stage 1. ) It will be hard to send routing messages (stage 2) without creating the routers (stage 1). But the files to be output is determined by the "stage" line of the config file. If that says stage2, you should not create s1.out. > >2. The DV message > > There seem to be two message format. One(1) is the one before > "... then for each route", and the other(2) is the one after the > the phrase. > > However, in some way, they seem to be combined one, not separated. > I mean, the (1) should be included basically, and the (2) is added to > (1) for routing information it contains. Is this correct? THere is one DV message format with fixed header and then a number of route records. The 2nd part you identify is the route record. (Actually, there is are two alternatives to the fixed-length header, one with and without last-hop-id.) >3. On page 4, above the line, messsages-sent A, messages-received B..., > there is a sentence, "After each version of the routing table.. ". > Actually, each router send and receive continuously. Not "sending > this, this and this, and receive this,this and this, and I finished > step 1." So.. what is the definition of the term, "version"? > If a routing table is updated, or chaged, is it considered a > "version"? Yes. >4. On page 2, "The sender must sent a timer.. ". > Doesn't the timer ticks on the sender side and check if ACK is > received before timeout? That should be "must SET at timer". -John Heidemann > >I'm sorry for lots of questions. >Maybe I have no enough time to do the homework. > >Thank you. > > > >-- >"Try not to become a man of success but rather to become a man of value." > -- A. Einstein > >=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=++=+=+=+= >JongAm Park http://my.dreamwiz.com/jongam >jongam@myrealbox.com MSN : jongampark@hotmail.com >Tel)213-251-9592 ICQ : 32697214 >H.P)213-820-8943 AIM : JongAm From johnh@ISI.EDU Thu Mar 20 17:48:28 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 09:48:28 -0800 Subject: [Csci551-talk] Packet format Q In-Reply-To: <1d99eec1d9b2ee.1d9b2ee1d99eec@usc.edu> Message-ID: <200303201748.h2KHmSn5010457@dash.isi.edu> On Wed, 19 Mar 2003 22:28:08 PST, siddharth bhavsar wrote: >Respectes Sir , >Is the "last hop id " field the same as the "last hop router" or the "origin router" field (depending on whether route are appended in 1...n order or n..1 order ? >Also are we allowed to consider the router-ids in the path as 1..n or n...1 whichever we like ? Neither of these are specified by the assignment, so you should choose and describe your choice in the README file you make. -John Heidemann > >Siddharth > >----- Original Message ----- >From: John Heidemann >Date: Tuesday, March 18, 2003 8:57 am >Subject: Re: [Csci551-talk] small Project A change > >> On Tue, 18 Mar 2003, a student asked: >> [about project A:] >> >A) Do we have to detect whether the input file format is correct or there >> is some information missing. Say, in the edges information, the info is >> > 1 2 2 3 3 0 0. >> > But after 0, an Ip address is the next input. This is an error in that >> case. Do we have to deal these conditions. >> >B) No stage x line appears. >> >> and earlier, another student asked: >> [Do I have to:] >> > 1.check for the minimum links needed for all routers to be connected >> > 2.worry aboout ip addresses in hex but worry only about decimal dot >> form. >> > 3.invalid IP addresses(containing aplhabets special char other than".") >> > 4.invalid entries for number of routers/loss rate/ edges >> >> Answer: >> >> We promise that the input will be syntatically correct. This means, >> we won't have hex IP addresses, or put string where you would expect >> an integer. Or, we will not have a comment that does not start with a >> '#'. And things like that. >> >> Also, we won't have an inconsistent or non-sensical input file, >> either. I.e., saying there are 5 routers but having config info for >> only 4, or having disconnected routers. Or having a drop rate that is >> negative or more than 100%. However, you may find it is helpful in >> debugging to add some code to sanity check your inputs. >> >> Of the second batch of questions, >> 1 is nonsensical >> 2+3 are not according to spec >> and 4 is inconsistent >> >> Of the first two questions >> A and B are syntatically incorrect/not according to spec. >> >> >> If you look at the sample inputs on the TA web page you should have a >> reasonable sense of what to expect. (Although you may want to write >> "test input" yourself to cover YOUR code.) >> >> >> I expect that, as graduate students, you can write parsers that are >> not completely brittle. You should be able to handle multiple >> comments, variable amounts of whitespace, etc. >> >> But this is not a compiler class, but a networking class, so writing a >> fancy parser is not the goal. >> >> -John Heidemann >> >> From johnh@ISI.EDU Thu Mar 20 17:49:06 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 09:49:06 -0800 Subject: [Csci551-talk] Router id and IP Q In-Reply-To: <1dc24c91dbcd20.1dbcd201dc24c9@usc.edu> Message-ID: <200303201749.h2KHn6Kp010478@dash.isi.edu> On Wed, 19 Mar 2003 23:49:20 PST, siddharth bhavsar wrote: > >Respected Sir , >Also can we assume a one-one mapping between the ip addresses and router-ids ? >I mean can we assume that each router has a single IP address ? Looking at the configuration file should answer that question. -John Heidemann From johnh@ISI.EDU Thu Mar 20 17:51:51 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 09:51:51 -0800 Subject: [Csci551-talk] DV message question In-Reply-To: <1decf881de7291.1de72911decf88@usc.edu> Message-ID: <200303201751.h2KHpp3K010591@dash.isi.edu> On Thu, 20 Mar 2003 03:48:03 PST, priyank shrivastava wrote: >hi! > >1. What is the need of having the fields "last hop router" - "next to last hop router" - ...... - "origin router"? > > If it is just to find the next-hop for the routing table of a particular router then that could also be found by maintaining update states after each routing table change which occurs with the receiving of DV messages. Why do we need those fields then? Why does BGP have AS-PATHs? > >Could you please give a theoretical example of how it works too? We talked about this in class when we talked about routing (and you should have had basic DV routing in your undergrad networking class). Please review that material and talk to me or the TA in office hours or by private e-mail if you still have questions. >2. If we do have the above fields in the DV message then obviously the DV message becomes variable in length. Another reason of the DV message being variable in size is the number of routes contained in it. Could you please suggest a data structure for it? > The assignment specifices the structure that must be sent between routers ("over-the-wire"). You may chose any data structure you would like to represent the "in-memory" version. You need to pick the structure you think is most appropriate. -John Heidemann From johnh@ISI.EDU Thu Mar 20 18:17:25 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 10:17:25 -0800 Subject: [Csci551-talk] Lowest Id ? In-Reply-To: <1e283431e2c28c.1e2c28c1e28343@usc.edu> Message-ID: <200303201817.h2KIHPtg011139@dash.isi.edu> On Thu, 20 Mar 2003 09:02:22 PST, siddharth bhavsar wrote: >Hi , >Could anybody let me know what does >lowest id of the origin router on the link mean ? >say i have router 1--2---3---4---5 and i am considering routing table calc at 1 for the route to 5 . >So what is the origin router in this path ? is it not 5 itself ? Origin router is the id of the router the originally sources the route. -John Heidemann From johnh@ISI.EDU Thu Mar 20 18:19:35 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 10:19:35 -0800 Subject: [Csci551-talk] project A update Message-ID: <200303201819.h2KIJZe3011158@dash.isi.edu> The prioritization rules for Project A have been slightly changed. See the updated project description on my web page for details: Quoting from it: The new rules 1. MED discriminators (added in stage 4 of this project, to follow) 2. shortest path in hops 3. lowest id of the origin router 4. lowest id of the last-hop router *(Change, added 20-Mar-03.)* Comment 20-Mar-03: you should notice that the prioritization is *different* from standard BGP prioritization. Also, since we are doing a simplified routing scheme with only one router per AS, some of these rules may not actually change routing. -John Heidemann From xiw@usc.edu Thu Mar 20 20:41:52 2003 From: xiw@usc.edu (Xi Wang) Date: Thu, 20 Mar 2003 12:41:52 -0800 Subject: [Csci551-talk] send alll routes? Message-ID: <00dd01c2ef21$259116e0$a6e57d80@xwl3> Hi. Should we send all routes on each route update? Seems there is no route announcement and withdrawal like BGP in this assignment. Thanks, Xi From johnh@ISI.EDU Fri Mar 21 01:07:18 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 17:07:18 -0800 Subject: [Csci551-talk] CSci551 project A change--all students should read Message-ID: <200303210107.h2L17IHb014666@dash.isi.edu> 1. I mis-spoke on the mailing list earlier today when I said you had your choice of order in the paths. At least for the DV message, the order is specified from last-hop to origin. 2. CHANGE: You may assume all ids (for both internal and external routers) are in the range [0,2^15], and that they don't overlap with internal router IDs. (This way don't need to worry about encoding of signed numbers.) => this implies that the test cases posted on the TA web page need to be changed. 3. There were several bugs in the sample input and outputs on the TA web page dated 9-Mar-03. In addition to that they didn't reflect the change that all ids are non-negative. I've posted updated sample inputs and outputs on my web page at . I recommend you make up your own simple testcases and don't just start with the ones on the TA or my web page. For example, painput1 starts with stage4, but it would be foolish to write the whole program through stage4 without testing stages 1, 2, and 3 first. 4. CHANGE: I've changed the output format for route messages. Previously it required that you log only the last hop. Now it requires that you log the complete path. For example, in the network 1--2--3 if 3 has router 13.0.0.0/8, router 1 would log 13.0.0.0/8 (1 2 3) (med=0) This is a slight addition to what is required for the project. I don't like adding to a project mid-way through, but (a) you need all this information anyway to do the routing, so there is no extra work required in collecting the information, (b) printing it out isn't hard if you have the information, (c) this will make it much, much easier to grade. IF someone has already completed the project AND feels that adding this output is too onerous, they may e-mail me the output of their program run over the TA's painput1 file by noon March 21 and I will consider waiving the requirement it for them. (But I don't expect that many people will find supporting it difficult.) -John Heidemann From johnh@ISI.EDU Fri Mar 21 01:19:05 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 17:19:05 -0800 Subject: [Csci551-talk] send alll routes? In-Reply-To: <00dd01c2ef21$259116e0$a6e57d80@xwl3> Message-ID: <200303210119.h2L1J5mG014835@dash.isi.edu> On Thu, 20 Mar 2003 12:41:52 PST, Xi Wang wrote: >Hi. Should we send all routes on each route update? Seems there is no >route announcement and withdrawal like BGP in this assignment. > >Thanks, > >Xi Yes, you must send all routes each update for that reason. -John Heidemann From johnh@ISI.EDU Fri Mar 21 01:19:05 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 17:19:05 -0800 Subject: [Csci551-talk] send alll routes? In-Reply-To: <00dd01c2ef21$259116e0$a6e57d80@xwl3> Message-ID: <200303210119.h2L1J5mG014835@dash.isi.edu> On Thu, 20 Mar 2003 12:41:52 PST, Xi Wang wrote: >Hi. Should we send all routes on each route update? Seems there is no >route announcement and withdrawal like BGP in this assignment. > >Thanks, > >Xi Yes, you must send all routes each update for that reason. -John Heidemann From sbhavsar@usc.edu Fri Mar 21 04:48:55 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Thu, 20 Mar 2003 20:48:55 -0800 Subject: [Csci551-talk] send alll routes? Message-ID: <207952220782f7.20782f72079522@usc.edu> Hi, I have a question regarding usage of select()in UDP . If i use select() and then check for FD_ISSET() and i find that the fd is set ...then what does it mean ? How do i know that the other side i wants to do a send or a receive from me ? Siddharth ----- Original Message ----- From: John Heidemann Date: Thursday, March 20, 2003 5:19 pm Subject: Re: [Csci551-talk] send alll routes? > On Thu, 20 Mar 2003 12:41:52 PST, Xi Wang wrote: > >Hi. Should we send all routes on each route update? Seems there is no > >route announcement and withdrawal like BGP in this assignment. > > > >Thanks, > > > >Xi > > Yes, you must send all routes each update for that reason. > > -John Heidemann > From johnh@ISI.EDU Fri Mar 21 04:59:16 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 20 Mar 2003 20:59:16 -0800 Subject: [Csci551-talk] send alll routes? In-Reply-To: <207952220782f7.20782f72079522@usc.edu> Message-ID: <200303210459.h2L4xGrI004065@dash.isi.edu> On Thu, 20 Mar 2003 20:48:55 PST, siddharth bhavsar wrote: >Hi, >I have a question regarding usage of select()in UDP . >If i use select() and then check for FD_ISSET() and i find that the fd is set ...then what does it mean ? That a message arrived on that fd. >How do i know that the other side i wants to do a send or a receive from me ? Either you get the sending info from the socket or the message contents. -John Heidemann From teli@usc.edu Sat Mar 22 08:35:12 2003 From: teli@usc.edu (parthik teli) Date: Sat, 22 Mar 2003 00:35:12 -0800 Subject: [Csci551-talk] OUT PUT and STAGE Message-ID: <235ee382357f10.2357f10235ee38@usc.edu> dear TA i am confused about some things. do i need to give output as the stage specified in configuration file ? or is it fine if i give output of all 4 stage when you run my prog ? because.. all n-1 stage are necessary to do stage n. so just the question of output. is it ok if my prog give output of each stage at one time? -Parthik ====================== Hard work is the way to "Zenith". Faith is the 'Base' of "Relation" From teli@usc.edu Sat Mar 22 09:51:51 2003 From: teli@usc.edu (parthik teli) Date: Sat, 22 Mar 2003 01:51:51 -0800 Subject: [Csci551-talk] Order of Packets Message-ID: <236817e2366ac2.2366ac2236817e@usc.edu> Dear Ta, I have one Q about.. last part of packet... the sequence given in specs is last hope next to last .... .... origin ______________________________________ but i have done opposite.... like origin next to origin .......... before last hope last hope but my algorithm will work as specification... is it fine .. or should i change order ? -Parthik ====================== Hard work is the way to "Zenith". Faith is the 'Base' of "Relation" From johnh@ISI.EDU Sat Mar 22 17:16:26 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 09:16:26 -0800 Subject: [Csci551-talk] OUT PUT and STAGE In-Reply-To: <235ee382357f10.2357f10235ee38@usc.edu> Message-ID: <200303221716.h2MHGQl6024914@dash.isi.edu> On Sat, 22 Mar 2003 00:35:12 PST, parthik teli wrote: >dear TA > i am confused about some things. > > do i need to give output as the stage specified in configuration file ? or is it fine if i give output of all 4 stage when you run my prog ? > because.. all n-1 stage are necessary to do stage n. so just the question of output. is it ok if my prog give output of each stage at one time? The spec calls for only having output for the stage specified in the config file. (Surely it is not that difficult to turn off the other output in your implementation.) -John Heidemann From johnh@ISI.EDU Sat Mar 22 17:23:18 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 09:23:18 -0800 Subject: [Csci551-talk] Order of Packets In-Reply-To: <236817e2366ac2.2366ac2236817e@usc.edu> Message-ID: <200303221723.h2MHNI9R025053@dash.isi.edu> On Sat, 22 Mar 2003 01:51:51 PST, parthik teli wrote: >Dear Ta, > I have one Q about.. last part of packet... > the sequence given in specs is > last hope > next to last > .... > .... > origin >______________________________________ >but i have done opposite.... like > > origin > next to origin > .......... > before last hope > last hope > >but my algorithm will work as specification... is it fine .. or should i change order ? The spec specifies the required path order, so if you want to match the spec you need to follow its order. -John Heidemann From sbhavsar@usc.edu Sat Mar 22 21:22:56 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Sat, 22 Mar 2003 13:22:56 -0800 Subject: [Csci551-talk] DV algo Q Message-ID: <23de8d323de732.23de73223de8d3@usc.edu> Respected Sir , I had a question regarding the DV table . Initially since we are giving the routers , the info of number of routers in the AS ,wheneever the routers start transmitting packets should they have a field for all the routers in the table but with infinite distance or is it sufficnet to pass only the known routes and as and when the router gets more info about routers ,does it then send the fields for those destinations also ? Thanks Siddharth ----- Original Message ----- From: John Heidemann Date: Saturday, March 22, 2003 9:23 am Subject: Re: [Csci551-talk] Order of Packets > On Sat, 22 Mar 2003 01:51:51 PST, parthik teli wrote: > >Dear Ta, > > I have one Q about.. last part of packet... > > the sequence given in specs is > > last hope > > next to last > > .... > > .... > > origin > >______________________________________ > >but i have done opposite.... like > > > > origin > > next to origin > > .......... > > before last hope > > last hope > > > >but my algorithm will work as specification... is it fine .. or should i > change order ? > > The spec specifies the required path order, so if you want to match > the spec you need to follow its order. > > -John Heidemann > From johnh@ISI.EDU Sun Mar 23 00:22:45 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 16:22:45 -0800 Subject: [Csci551-talk] Re: DV algo Q In-Reply-To: <23de8d323de732.23de73223de8d3@usc.edu> Message-ID: <200303230022.h2N0MjSC026002@dash.isi.edu> On Sat, 22 Mar 2003 13:22:56 PST, siddharth bhavsar wrote: >Respected Sir , > I had a question regarding the DV table . >Initially since we are giving the routers , the info of number of routers in the AS ,wheneever the routers start transmitting packets should they have a field for all the routers in the table but with infinite distance or is it sufficnet to pass only the known routes and as and when the router gets more info about routers ,does it then send the fields for those destinations also ? > I'm having a hard time understanding your question. But if you're saying, can the message sent between routers include "all routers but with infinite distance" than that doesn't seem consistent with either DV routing or the required DV message format. -John Heidemann From rmgandhi@usc.edu Sun Mar 23 01:56:34 2003 From: rmgandhi@usc.edu (ravi gandhi) Date: Sat, 22 Mar 2003 17:56:34 -0800 Subject: [Csci551-talk] Regd. No. of UDP ports per router Message-ID: <243ece0243c1a4.243c1a4243ece0@usc.edu> I had a question regarding the number of UDP ports to set up for each router: Are we supposed to use just one UDP port per router? Or are we supposed to have a UDP port for each neighbour for the router? It is mentioned in the project write-up that we will need to use the select()call for multiplexing. But I guess there is no use of this call if we use just one UDP port. SO are we required to open the UDP connection on a per-neighbour basis? Ravi M. Gandhi MS(C.S.), University of Southern California 710, West 27th Street, Apartment No.4, Los Angeles, CA 90007 Phone: 1-213-749-8983 webpage: http://www-scf.usc.edu/~rmgandhi/ From sjena@usc.edu Sun Mar 23 02:32:34 2003 From: sjena@usc.edu (Samir) Date: Sat, 22 Mar 2003 18:32:34 -0800 Subject: [Csci551-talk] Regd. No. of UDP ports per router References: <243ece0243c1a4.243c1a4243ece0@usc.edu> Message-ID: <001501c2f0e4$9de47500$6501a8c0@Konark> also going with the similar topic I would also like to ask a question... what happens if I assign UDP ports (after binding them of course) to the routers in my manager program and then pass on the peer port numbers to the routers requesting info and then the routers could use these port numbers to bind for sending the udp packets.... is there something wrong with this design?? ----- Original Message ----- From: "ravi gandhi" To: Sent: Saturday, March 22, 2003 5:56 PM Subject: [Csci551-talk] Regd. No. of UDP ports per router > I had a question regarding the number of UDP ports to set up for each router: > Are we supposed to use just one UDP port per router? Or are we supposed to have a UDP port for each neighbour for the router? > It is mentioned in the project write-up that we will need to use the select()call for multiplexing. But I guess there is no use of this call if we use just one UDP port. SO are we required to open the UDP connection on a per-neighbour basis? > > Ravi M. Gandhi > MS(C.S.), University of Southern California > 710, West 27th Street, > Apartment No.4, > Los Angeles, > CA 90007 > Phone: 1-213-749-8983 > webpage: http://www-scf.usc.edu/~rmgandhi/ > > From shshanks@nunki.usc.edu Sun Mar 23 02:43:36 2003 From: shshanks@nunki.usc.edu (Shshank Sharma) Date: Sat, 22 Mar 2003 18:43:36 -0800 (PST) Subject: [Csci551-talk] Regd. No. of UDP ports per router In-Reply-To: <243ece0243c1a4.243c1a4243ece0@usc.edu> Message-ID: On Sat, 22 Mar 2003, ravi gandhi wrote: > Are we supposed to use just one UDP port per router? Yes, we bind one time and all connectors use the same port to reach us. Besides, thats what good servers do, they advertise a single port on which they listen for messages vying for a particular service. (can see some standard ports in /etc/services) In this context, we could think of the present project as the routing service, running on individual routers, on ports assigned dynamically and informed to all concerned. > Or are we supposed to have a UDP port for each neighbour for the router? > It is mentioned in the project write-up that we will need to use the select()call for multiplexing. > But I guess there is no use of this call if we use just one UDP port. SO > are we required to open the UDP connection on a per-neighbour basis? Yes, we indeed must multiplex incoming messages from various connectors, using the select call. From shshanks@nunki.usc.edu Sun Mar 23 02:50:47 2003 From: shshanks@nunki.usc.edu (Shshank Sharma) Date: Sat, 22 Mar 2003 18:50:47 -0800 (PST) Subject: [Csci551-talk] Regd. No. of UDP ports per router In-Reply-To: <001501c2f0e4$9de47500$6501a8c0@Konark> Message-ID: > what happens if I assign UDP ports (after binding them of course) to the > routers in my manager program and Are you suggesting the manager do the binding for the children ? then pass on the peer port numbers to the > routers requesting info and then the routers could use these port numbers to > bind for sending the udp packets.... is there something wrong with this > design?? Or are you suggesting that the manager determine and pass on the UDP ports (during fork) to the children, so they can bind to those on their own ? And why would that be necessary, since its a good idea to always use getsockname for dynamic port assignment anyways, whether parent or child ? -Shshank From sbhavsar@usc.edu Sun Mar 23 03:16:06 2003 From: sbhavsar@usc.edu (siddharth bhavsar) Date: Sat, 22 Mar 2003 19:16:06 -0800 Subject: [Csci551-talk] Processor scheduling and buffer Q Message-ID: <24521cb245162d.245162d24521cb@usc.edu> Respected sir , 1)When i run my routing algorithm for the given 5 router congiguration the following things seems to be happening . The router that i spawned first is getting advantage in terms of processor time and my last router is getting starved . so my routing table for the first two routers gets created and then onwards for other routers the table gets half-crearted and gets stuck in that state.In fact after a first few messages my router 5 is not able to send or receive . I tried with pseudo-random sleep but still doesnt solve the problem .How do i overcome this ? 2)Also surprisingly whatever i am outputting to "cout" is getting dumped into my "s1.out" file instead of stdout .Even printf is having the same behaviour . "s1.out" is just a local fstream that i create in a small function and flush() and close() before exiting !Whatcould be the reason for this problem and how do i avert it ? i am running my program on nunki Regards Siddharth ----- Original Message ----- From: Shshank Sharma Date: Saturday, March 22, 2003 6:50 pm Subject: Re: [Csci551-talk] Regd. No. of UDP ports per router > > > what happens if I assign UDP ports (after binding them of course) to the > > routers in my manager program and > > Are you suggesting the manager do the binding for the children ? > > then pass on the peer port numbers to the > > routers requesting info and then the routers could use these port > numbers to > > bind for sending the udp packets.... is there something wrong with this > > design?? > > Or are you suggesting that the manager determine and pass on the > UDP ports (during fork) to the children, so they can bind to those on > their own ? > > And why would that be necessary, since its a good idea to always use > getsockname for dynamic port assignment anyways, whether parent or child ? > > -Shshank > > From johnh@ISI.EDU Sun Mar 23 04:47:54 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 20:47:54 -0800 Subject: [Csci551-talk] Regd. No. of UDP ports per router In-Reply-To: <243ece0243c1a4.243c1a4243ece0@usc.edu> Message-ID: <200303230447.h2N4ls4c027701@dash.isi.edu> On Sat, 22 Mar 2003 17:56:34 PST, ravi gandhi wrote: >I had a question regarding the number of UDP ports to set up for each router: >Are we supposed to use just one UDP port per router? Or are we supposed to have a UDP port for each neighbour for the router? The assignment does not specify between these two options. (And so you should pick one.) >It is mentioned in the project write-up that we will need to use the select()call for multiplexing. But I guess there is no use of this call if we use just one UDP port. SO are we required to open the UDP connection on a per-neighbour basis? If you don't do select but instead just block on the read, then how can you easily implement timeouts? -John Heidemann From johnh@ISI.EDU Sun Mar 23 04:48:19 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 20:48:19 -0800 Subject: [Csci551-talk] Processor scheduling and buffer Q In-Reply-To: <24521cb245162d.245162d24521cb@usc.edu> Message-ID: <200303230448.h2N4mJ5J027721@dash.isi.edu> On Sat, 22 Mar 2003 19:16:06 PST, siddharth bhavsar wrote: >Respected sir , >1)When i run my routing algorithm for the given 5 router congiguration the following things seems to be happening . >The router that i spawned first is getting advantage in terms of processor time and my last router is getting starved . >so my routing table for the first two routers gets created and then onwards for other routers the table gets half-crearted and gets stuck in that state.In fact after a first few messages my router 5 is not able to send or receive . >I tried with pseudo-random sleep but still doesnt solve the problem .How do i overcome this ? You will need to debug your code to understand why router 5 stops sending or receiving. But a couple of suggestions: if you're implementing reliable transfer, other routers should keep resending their messages to 5 until it gets them. Also, it sounds very strange that your processes should have processors scheduling issues. Is your app really event driven (use select to wait or get one message, then process that message, maybe sending others, then go back to the central select loop)? Or is it doing busy waiting (which could cause strange interactions). >2)Also surprisingly whatever i am outputting to "cout" is getting dumped into my "s1.out" file instead of stdout .Even printf is having the same behaviour . >"s1.out" is just a local fstream that i create in a small function and flush() and close() before exiting !Whatcould be the reason for this problem and how do i avert it ? Nothing should go to a file that you haven't configured... -John Heidemann From johnh@ISI.EDU Sun Mar 23 05:11:23 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sat, 22 Mar 2003 21:11:23 -0800 Subject: [Csci551-talk] csci551 topology pictures and two small updates Message-ID: <200303230511.h2N5BNRV027997@dash.isi.edu> now has pictures of the sample topologies One clarification: The sentence "Once your routers have these external routes they should propagate them just as their own routes (using reliable flooding)." should end "(using reliable transfer)". DV routing has only neighbor communication. Bug fix: There was a bug in the stage 3 sample output. This is fixed on the above web page. (My thanks to the student who found this bug.) -John Heidemann From teli@usc.edu Sun Mar 23 05:51:43 2003 From: teli@usc.edu (parthik teli) Date: Sat, 22 Mar 2003 21:51:43 -0800 Subject: [Csci551-talk] Number of REC/SEND packets... Message-ID: <247fc452479141.2479141247fc45@usc.edu> Dear TA, I am confused about one thing... suppose.. Router A has three neighbours.. 1 2 3 .... as A get update message... it send... it's lates routing table to 1 2 and 3...same info to 1 2 and 3.... we should consider it as what ? A has sent 1 packet to 1 2 3 or A has sent total 3 packets ? number of packet sent.. 1 or 3 ? -Parthik ====================== Hard work is the way to "Zenith". Faith is the 'Base' of "Relation" From shshanks@usc.edu Sun Mar 23 14:31:09 2003 From: shshanks@usc.edu (Shshank Sharma) Date: Sun, 23 Mar 2003 06:31:09 -0800 Subject: [Csci551-talk] Number of REC/SEND packets... In-Reply-To: <247fc452479141.2479141247fc45@usc.edu> Message-ID: > suppose.. Router A has three neighbours.. 1 2 3 .... > as A get update message... it send... it's lates routing table to 1 2 and 3...same info to 1 2 and 3.... > we should consider it as what ? A has sent 1 packet to 1 2 3 or A has sent total 3 packets ? > number of packet sent.. 1 or 3 ? I would sat a total of 3 dv messages. Higher-degree routers send more-messages. -Sharma From johnh@ISI.EDU Mon Mar 24 01:18:41 2003 From: johnh@ISI.EDU (John Heidemann) Date: Sun, 23 Mar 2003 17:18:41 -0800 Subject: [Csci551-talk] Number of REC/SEND packets... In-Reply-To: <247fc452479141.2479141247fc45@usc.edu> Message-ID: <200303240118.h2O1If4G010187@dash.isi.edu> On Sat, 22 Mar 2003 21:51:43 PST, parthik teli wrote: >Dear TA, > I am confused about one thing... > suppose.. Router A has three neighbours.. 1 2 3 .... >as A get update message... it send... it's lates routing table to 1 2 and 3...same info to 1 2 and 3.... > we should consider it as what ? A has sent 1 packet to 1 2 3 or A has sent total 3 packets ? > number of packet sent.. 1 or 3 ? How many write() or sendto() calls did you make? -John Heidemann From gpatel@usc.edu Mon Mar 24 07:43:08 2003 From: gpatel@usc.edu (gaurav patel) Date: Sun, 23 Mar 2003 23:43:08 -0800 Subject: [Csci551-talk] Order of entries in the routing table. Message-ID: <26818a62683b56.2683b5626818a6@usc.edu> Do the entries in the routing table have to be sorted in ascending or descending order? In the sense 192.163.12.0/24 (1 25 ) (med=2) 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) 192.167.17.0/8 (1 2 23 ) (med=0) 192.168.13.0/8 (1 2 3 4 5 6 7 22 ) (med=1) 192.168.16.0/16 (1 2 3 4 21 ) (med=3) 10.1.1.0/16 (1 ) (med=0) 10.1.2.0/16 (1 2 ) (med=0) 10.1.3.0/16 (1 2 3 ) (med=0) 10.1.4.0/16 (1 2 3 4 ) (med=0) 10.1.5.0/16 (1 2 3 4 5 ) (med=0) 10.1.6.0/16 (1 2 3 4 5 6 ) (med=0) 10.1.7.0/16 (1 2 3 4 5 6 7 ) (med=0) 10.1.8.0/16 (1 2 3 4 5 6 7 8 ) (med=0) 10.1.9.0/16 (1 2 3 4 5 6 7 8 9 ) (med=0) 10.1.10.0/16 (1 2 3 4 5 6 7 8 9 10 ) (med=0) or is it ok if it is 10.1.1.0\16 (1 ) (med=0) 192.163.12.0\24 (1 25 ) (med=2) 10.1.2.0\16 (1 2 ) (med=0) 192.167.17.0\8 (1 2 23 ) (med=0) 10.1.3.0\16 (1 2 3 ) (med=0) 10.1.4.0\16 (1 2 3 4 ) (med=0) 192.168.16.0\16 (1 2 3 4 21 ) (med=3) 10.1.5.0\16 (1 2 3 4 5 ) (med=0) 10.1.6.0\16 (1 2 3 4 5 6 ) (med=0) 10.1.7.0\16 (1 2 3 4 5 6 7 ) (med=0) 192.168.13.0\8 (1 2 3 4 5 6 7 22 ) (med=1) 10.1.8.0\16 (1 2 3 4 5 6 7 8 ) (med=0) 192.166.12.0\24 (1 2 3 4 5 6 7 8 25 ) (med=8) 10.1.9.0\16 (1 2 3 4 5 6 7 8 9 ) (med=0) 10.1.10.0\16 (1 2 3 4 5 6 7 8 9 10 ) (med=0) The entries are the same, only I am appending new routes at the end of the table when inserting them & the output file reflects the same. will this output do. -Gaurav From shshanks@aludra.usc.edu Mon Mar 24 09:44:33 2003 From: shshanks@aludra.usc.edu (Shshank Sharma) Date: Mon, 24 Mar 2003 01:44:33 -0800 (PST) Subject: [Csci551-talk] annoying ISD warnings In-Reply-To: <200303240118.h2O1If4G010187@dash.isi.edu> Message-ID: Someone told me the following. Thought it would be a time-saving, so sending it across. To kill the numerous forked processes that come up, you can do this shell script: 1. Type 'kill -9 `pgrep $1`' (without the outer quotes) into a file on your unix account, say 'remov' 2. Do 'chmod 777 remov' at the prompt 3. Can use 'remov ' to kill and its children. This should help avoiding those annoying ISD warnings. Best, -Sharma. From johnh@ISI.EDU Mon Mar 24 21:58:30 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 24 Mar 2003 13:58:30 -0800 Subject: [Csci551-talk] Order of entries in the routing table. In-Reply-To: <26818a62683b56.2683b5626818a6@usc.edu> Message-ID: <200303242158.h2OLwUIf005223@dash.isi.edu> On Sun, 23 Mar 2003 23:43:08 PST, gaurav patel wrote: >Do the entries in the routing table have to be sorted in ascending or descending order? In the sense > >192.163.12.0/24 (1 25 ) (med=2) >192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) >192.167.17.0/8 (1 2 23 ) (med=0) >192.168.13.0/8 (1 2 3 4 5 6 7 22 ) (med=1) >192.168.16.0/16 (1 2 3 4 21 ) (med=3) >10.1.1.0/16 (1 ) (med=0) >10.1.2.0/16 (1 2 ) (med=0) >10.1.3.0/16 (1 2 3 ) (med=0) >10.1.4.0/16 (1 2 3 4 ) (med=0) >10.1.5.0/16 (1 2 3 4 5 ) (med=0) >10.1.6.0/16 (1 2 3 4 5 6 ) (med=0) >10.1.7.0/16 (1 2 3 4 5 6 7 ) (med=0) >10.1.8.0/16 (1 2 3 4 5 6 7 8 ) (med=0) >10.1.9.0/16 (1 2 3 4 5 6 7 8 9 ) (med=0) >10.1.10.0/16 (1 2 3 4 5 6 7 8 9 10 ) (med=0) > >or is it ok if it is >10.1.1.0\16 (1 ) (med=0) >192.163.12.0\24 (1 25 ) (med=2) >10.1.2.0\16 (1 2 ) (med=0) >192.167.17.0\8 (1 2 23 ) (med=0) >10.1.3.0\16 (1 2 3 ) (med=0) >10.1.4.0\16 (1 2 3 4 ) (med=0) >192.168.16.0\16 (1 2 3 4 21 ) (med=3) >10.1.5.0\16 (1 2 3 4 5 ) (med=0) >10.1.6.0\16 (1 2 3 4 5 6 ) (med=0) >10.1.7.0\16 (1 2 3 4 5 6 7 ) (med=0) >192.168.13.0\8 (1 2 3 4 5 6 7 22 ) (med=1) >10.1.8.0\16 (1 2 3 4 5 6 7 8 ) (med=0) >192.166.12.0\24 (1 2 3 4 5 6 7 8 25 ) (med=8) >10.1.9.0\16 (1 2 3 4 5 6 7 8 9 ) (med=0) >10.1.10.0\16 (1 2 3 4 5 6 7 8 9 10 ) (med=0) > > >The entries are the same, only I am appending new routes at the end of the table when inserting them & the output file reflects the same. >will this output do. > >-Gaurav > The project does not specify order, so you may chose. However, it is easier to grade if the routes are in a consistent order, so if that's easy for you to do, please do so. (With the proper C++/STL data structures it's should be one line of code to sort them.) Btw, your slashses are backwards. Ported your code from a Windows box, did you? -John Heidemann From xiw@usc.edu Tue Mar 25 01:08:39 2003 From: xiw@usc.edu (Xi Wang) Date: Mon, 24 Mar 2003 17:08:39 -0800 Subject: [Csci551-talk] TTL? Message-ID: <00c701c2f26b$12d72fb0$eadf7d80@xwl3> Hi. Is TTL necessary? As there is no flooding or forwarding, the meaning of TTL seems not very clear. If there is no route oscillation and a route update is sent only if there is a change in the routing table, there wouldn't be packets going forever. So I think TTL is used to end route oscillation? Thanks, Xi From gpatel@usc.edu Tue Mar 25 02:10:31 2003 From: gpatel@usc.edu (gaurav patel) Date: Mon, 24 Mar 2003 18:10:31 -0800 Subject: [Csci551-talk] TTL? Message-ID: <1cdd901cbddf.1cbddf1cdd90@usc.edu> ----- Original Message ----- From: Xi Wang Date: Monday, March 24, 2003 5:08 pm Subject: [Csci551-talk] TTL? > Hi. Is TTL necessary? As there is no flooding or forwarding, the meaning > of TTL seems not very clear. > > If there is no route oscillation and a route update is sent only if there > is a change in the routing table, there wouldn't be packets going forever. > So I think TTL is used to end route oscillation? I dont think TTL can/should be used for this project. The TTL is on a per message basis & not on per route basis. The update is sent by each router only to its neighbors, which , if an update, create a NEW messgae & send out. The TTL, I feel cannot be propogated. It would be good if someone clarified this though. -Gaurav > Thanks, > > Xi > > From sumeetsavla@lycos.co.uk Tue Mar 25 04:12:47 2003 From: sumeetsavla@lycos.co.uk (Sumeet Savla) Date: Mon, 24 Mar 2003 20:12:47 -0800 Subject: [Csci551-talk] TTL? References: <1cdd901cbddf.1cbddf1cdd90@usc.edu> Message-ID: <001c01c2f284$cceb4210$6600a8c0@Sumeet> I too agree that TTL is not necessary in the current scenario. Sumeet ----- Original Message ----- From: "gaurav patel" To: "Xi Wang" Cc: Sent: Monday, March 24, 2003 6:10 PM Subject: Re: [Csci551-talk] TTL? ----- Original Message ----- From: Xi Wang Date: Monday, March 24, 2003 5:08 pm Subject: [Csci551-talk] TTL? > Hi. Is TTL necessary? As there is no flooding or forwarding, the meaning > of TTL seems not very clear > > If there is no route oscillation and a route update is sent only if there > is a change in the routing table, there wouldn't be packets going forever > So I think TTL is used to end route oscillation? I dont think TTL can/should be used for this project. The TTL is on a per message basis & not on per route basis. The update is sent by each router only to its neighbors, which , if an update, create a NEW messgae & send out. The TTL, I feel cannot be propogated It would be good if someone clarified this though -Gaurav > Thanks, > > Xi > > From johnh@ISI.EDU Tue Mar 25 04:15:34 2003 From: johnh@ISI.EDU (John Heidemann) Date: Mon, 24 Mar 2003 20:15:34 -0800 Subject: [Csci551-talk] TTL? In-Reply-To: <1cdd901cbddf.1cbddf1cdd90@usc.edu> Message-ID: <200303250415.h2P4FYmE017582@dash.isi.edu> On Mon, 24 Mar 2003 18:10:31 PST, gaurav patel wrote: > > >----- Original Message ----- >From: Xi Wang >Date: Monday, March 24, 2003 5:08 pm >Subject: [Csci551-talk] TTL? > >> Hi. Is TTL necessary? As there is no flooding or forwarding, the meaning >> of TTL seems not very clear. >> >> If there is no route oscillation and a route update is sent only if there >> is a change in the routing table, there wouldn't be packets going forever. >> So I think TTL is used to end route oscillation? > >I dont think TTL can/should be used for this project. The TTL is on a per message basis & not on per route basis. The update is sent by each router only >to its neighbors, which , if an update, create a NEW messgae & send out. The TTL, I feel cannot be propogated. >It would be good if someone clarified this though. You're right that TTL is not very relevant to this project. But I expect you'll find it's more useful in Project B. And for this project, it needs ot be implemented as part of the DV message format. -John Heidemann From gurtu@usc.edu Tue Mar 25 23:37:08 2003 From: gurtu@usc.edu (anurag gurtu) Date: Tue, 25 Mar 2003 15:37:08 -0800 Subject: [Csci551-talk] reliability in UDP Message-ID: <62efb262837d.62837d62efb2@usc.edu> Sir , I have a doubt in implementing reliablity in UDP ,in case of a packet loss should we send the lost packet or the latest entry in the routing table of the sender. Thanks Anurag Gurtu. From gnawali@usc.edu Tue Mar 25 23:59:51 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Tue, 25 Mar 2003 15:59:51 -0800 Subject: [Csci551-talk] reliability in UDP In-Reply-To: Your message of Tue, 25 Mar 2003 15:37:08 -0800 Message-ID: <200303252359.h2PNxp3I002346@enl.usc.edu> These are two different issues: 1. Building a reliable transport-like layer on top of UDP. 2. Refreshing the network with latest state. You need to use those two different features as appropriate. The project specification tells you where to use these two features. you wrote: > Sir , I have a doubt in implementing reliablity in UDP ,in case of a packet loss should we s *end the lost packet or the latest entry in the routing table of the sender. > > Thanks > Anurag Gurtu. From johnh@ISI.EDU Wed Mar 26 00:01:18 2003 From: johnh@ISI.EDU (John Heidemann) Date: Tue, 25 Mar 2003 16:01:18 -0800 Subject: [Csci551-talk] reliability in UDP In-Reply-To: <62efb262837d.62837d62efb2@usc.edu> Message-ID: <200303260001.h2Q01INs008036@dash.isi.edu> On Tue, 25 Mar 2003 15:37:08 PST, anurag gurtu wrote: >Sir , I have a doubt in implementing reliablity in UDP ,in case of a packet loss should we send the lost packet or the latest entry in the routing table of the sender. > >Thanks >Anurag Gurtu. You may chose to do either. -John Heidemann From xiw@usc.edu Wed Mar 26 00:08:07 2003 From: xiw@usc.edu (Xi Wang) Date: Tue, 25 Mar 2003 16:08:07 -0800 Subject: [Csci551-talk] reliability in UDP References: <200303260001.h2Q01INs008036@dash.isi.edu> Message-ID: <007e01c2f32b$c84d07f0$d8e47d80@xwl3> I think the number of retransmitted packets will be different in different implementations. Will this be considered during grading? Thanks, Xi ----- Original Message ----- From: "John Heidemann" To: "anurag gurtu" Cc: Sent: Tuesday, March 25, 2003 4:01 PM Subject: Re: [Csci551-talk] reliability in UDP > On Tue, 25 Mar 2003 15:37:08 PST, anurag gurtu wrote: > >Sir , I have a doubt in implementing reliablity in UDP ,in case of a packet loss should we send the lost packet or the latest entry in the routing table of the sender. > > > >Thanks > >Anurag Gurtu. > > You may chose to do either. > -John Heidemann > From sumeetsavla@lycos.co.uk Wed Mar 26 01:12:41 2003 From: sumeetsavla@lycos.co.uk (Sumeet Savla) Date: Tue, 25 Mar 2003 17:12:41 -0800 Subject: [Csci551-talk] what to retransmit? Message-ID: <000e01c2f334$dbcd9ed0$6600a8c0@Sumeet> This is a multi-part message in MIME format. ------=_NextPart_000_000B_01C2F2F1.BE9FA990 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi professor, TA and fellow students, I have a doubt about what should be resent on a packet drop. Should we send the same packet again that was dropped=20 or=20 should we send a new packet of the latest routing table? If we retransmit the same packet, then ....according to me....it doesnot = help much.... bcos firstly we need to store the state per sequence number secondly, we will transmit a packet which was sent long back and there = "could be" another message already sent from the same source to = neighbour....which would hv a higher sequence number. and so , = effectively, sending this old message may not help much... Is one way preferred over the other, or are both ways fine??? other students and the professor, Please reply asap. thank you, Sumeet ------=_NextPart_000_000B_01C2F2F1.BE9FA990 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi professor, TA and fellow=20 students,
 
I have a doubt about what should be = resent on a=20 packet drop.
Should we send the same packet again = that was=20 dropped
or
should we send a new packet of the = latest routing=20 table?
 
If we retransmit the same packet, then=20 ....according to me....it doesnot help much....
bcos firstly we need to store the state = per=20 sequence number
secondly, we will transmit a packet = which was sent=20 long back and there "could be" another message already sent from the = same source=20 to neighbour....which would hv a higher sequence number. and so , = effectively,=20 sending this old message may not help much...
 
Is one way preferred over the other, or = are both=20 ways fine???
 
other students and the professor, = Please reply=20 asap.
 
thank you,
Sumeet
------=_NextPart_000_000B_01C2F2F1.BE9FA990-- From johnh@ISI.EDU Wed Mar 26 01:26:50 2003 From: johnh@ISI.EDU (John Heidemann) Date: Tue, 25 Mar 2003 17:26:50 -0800 Subject: [Csci551-talk] reliability in UDP In-Reply-To: <007e01c2f32b$c84d07f0$d8e47d80@xwl3> Message-ID: <200303260126.h2Q1QogQ008581@dash.isi.edu> On Tue, 25 Mar 2003 16:08:07 PST, Xi Wang wrote: >I think the number of retransmitted packets will be different in different >implementations. Will this be considered during grading? Yes we are aware of different possible implementations and will consider that in evaluation. -John Heidemann > >Thanks, > >Xi > >----- Original Message ----- >From: "John Heidemann" >To: "anurag gurtu" >Cc: >Sent: Tuesday, March 25, 2003 4:01 PM >Subject: Re: [Csci551-talk] reliability in UDP > > >> On Tue, 25 Mar 2003 15:37:08 PST, anurag gurtu wrote: >> >Sir , I have a doubt in implementing reliablity in UDP ,in case of a >packet loss should we send the lost packet or the latest entry in the >routing table of the sender. >> > >> >Thanks >> >Anurag Gurtu. >> >> You may chose to do either. >> -John Heidemann >> From johnh@ISI.EDU Wed Mar 26 01:28:23 2003 From: johnh@ISI.EDU (John Heidemann) Date: Tue, 25 Mar 2003 17:28:23 -0800 Subject: [Csci551-talk] what to retransmit? In-Reply-To: <000e01c2f334$dbcd9ed0$6600a8c0@Sumeet> Message-ID: <200303260128.h2Q1SN75008613@dash.isi.edu> On Tue, 25 Mar 2003 17:12:41 PST, "Sumeet Savla" wrote: >Hi professor, TA and fellow students, >  >I have a doubt about what should be resent on a packet drop. >Should we send the same packet again that was dropped >or >should we send a new packet of the latest routing table? >  >If we retransmit the same packet, then ....according to me....it doesnot help >much.... >bcos firstly we need to store the state per sequence number >secondly, we will transmit a packet which was sent long back and there "could >be" another message already sent from the same source to neighbour....which >would hv a higher sequence number. and so , effectively, sending this old >message may not help much... >  >Is one way preferred over the other, or are both ways fine??? >  >other students and the professor, Please reply asap. >  >thank you, >Sumeet > > In general, if something is not specified in the assignment, you may chose a reasonable way to do it. When you identify something like this that you think is important, make your choice and document it in the README file. (Along with WHY you made your choice the way you did.) -John Heidemann From gpatel@usc.edu Wed Mar 26 02:44:44 2003 From: gpatel@usc.edu (gaurav patel) Date: Tue, 25 Mar 2003 18:44:44 -0800 Subject: [Csci551-talk] Ref to retransmit policy Message-ID: <729eba7296dc.7296dc729eba@usc.edu> I understand that it is up to individual implementation whether on timeout, one send the latest routing table, or the table information relevant at the time the message was created. In the senario when router #1 send out messages # 2,3,4 & receives acks for 3 & 4, but not for 2. In this case when the timer expires, do we need to send a message(old or new table). Because the neighbor received message #4, which is the latest state, why is it necessary to send another message? Yes for "reliable" UDP it might be required, but the end goal of reliablity was to make sure that everyone had latest information. The latest information the neighbor does have, then why send another message, which the neighbor is going to discard anyway? If we have to resend a message, what do we finally achieve with such redundant information? please comment -Gaurav From johnh@ISI.EDU Wed Mar 26 05:15:12 2003 From: johnh@ISI.EDU (John Heidemann) Date: Tue, 25 Mar 2003 21:15:12 -0800 Subject: [Csci551-talk] Ref to retransmit policy In-Reply-To: <729eba7296dc.7296dc729eba@usc.edu> Message-ID: <200303260515.h2Q5FCwP009759@dash.isi.edu> On Tue, 25 Mar 2003 18:44:44 PST, gaurav patel wrote: >I understand that it is up to individual implementation whether on timeout, one send the latest routing table, or the table information relevant at the time the message was created. > >In the senario when router #1 send out messages # 2,3,4 & receives acks for 3 & 4, but not for 2. >In this case when the timer expires, do we need to send a message(old or new table). Because the neighbor received message #4, which is the latest state, why is it necessary to send another message? Yes for "reliable" UDP it might be required, but the end goal of reliablity was to make sure that everyone had latest information. The latest information the neighbor does have, then why send another message, which the neighbor is going to discard anyway? >If we have to resend a message, what do we finally achieve with such redundant information? > >please comment > >-Gaurav I think you answered your question in the first paragraph. The primary requirement of the assignment is that you compute correct routing tables. If you've thought of something that doesn't advance that goal and isn't otherwise required by the assignment, then perhaps you shouldn't do it. If you're at all concerned that about your reasoning, discuss the issues in your README file. -John Heidemann From gnawali@usc.edu Wed Mar 26 19:51:39 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Wed, 26 Mar 2003 11:51:39 -0800 Subject: [Csci551-talk] Project A slip day Message-ID: <200303261951.h2QJpdOn012319@enl.usc.edu> Dear class, You are allowed one slip-day that you can use for any homework or project if you are not able to finish it by the deadline. There is no need to feel sorry for having to ask for it. Just let me know by tonight if you are going to use it so that I can keep track of slip-days being used. When you send an email to me make sure the subject line says "551 Project A slip day request". If I don't get an email from you and you submit your project late, I will assume that you are not interested in using slip-day for this project. Good luck. - om_p From xiw@usc.edu Thu Mar 27 04:15:47 2003 From: xiw@usc.edu (Xi Wang) Date: Wed, 26 Mar 2003 20:15:47 -0800 Subject: [Csci551-talk] multiple routes for external nodes? Message-ID: <007201c2f417$8c5fa9e0$e1e37d80@xwl3> Hi. In example file s4-1.out, there are two paths to the same external node: 192.163.12.0/24 (1 25 ) (med=2) 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) Can someone explain this? Thanks, Xi From gnawali@usc.edu Thu Mar 27 06:19:24 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Wed, 26 Mar 2003 22:19:24 -0800 Subject: [Csci551-talk] slip day clarification Message-ID: <200303270619.h2R6JOko018237@enl.usc.edu> Dear class, Please do not say "If I feel like and if I am in mood and if the weather is right, I might even consider using a slip day". It becomes difficult for me to keep track of such requests. If you need a slip day, send me an email with "551 Project A slip day request" in the subject line and no explanation is necessary -- just the subject line. Here are some clarifications: * You have until the project submission deadline to request slip day. * Once you request a slip-day, you can not take it back. * You have to make sure that I receive your request before the submission deadline. This is why you should send the request some time before the deadline. * With slip day, the submission deadline will be 24 hrs after the original deadline. I will forget all the "maybe, if, perhaps, even" slip-day requests that I have received so far. Now that you know what I am expecting, please follow the rules to make everyone's life easier. Thanks. - om_p From xiw@usc.edu Thu Mar 27 09:02:58 2003 From: xiw@usc.edu (Xi Wang) Date: Thu, 27 Mar 2003 01:02:58 -0800 Subject: [Csci551-talk] multiple paths to the same external node? Message-ID: <018401c2f43f$aa7904d0$e1e37d80@xwl3> Hi. In example file s4-1.out, there are two paths to the same external node: 192.163.12.0/24 (1 25 ) (med=2) 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) Is this the desired behavior? Thanks, Xi From saurabhk@usc.edu Thu Mar 27 13:36:16 2003 From: saurabhk@usc.edu (saurabh khurana) Date: Thu, 27 Mar 2003 05:36:16 -0800 Subject: [Csci551-talk] multiple routes for external nodes? Message-ID: 1 node can have different IP addresses and hence two different entries. ----- Original Message ----- From: Xi Wang Date: Wednesday, March 26, 2003 8:15 pm Subject: [Csci551-talk] multiple routes for external nodes? > Hi. In example file s4-1.out, there are two paths to the same external > node: > > 192.163.12.0/24 (1 25 ) (med=2) > 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) > > Can someone explain this? > > Thanks, > > Xi > > From shshanks@nunki.usc.edu Thu Mar 27 13:39:27 2003 From: shshanks@nunki.usc.edu (Shshank Sharma) Date: Thu, 27 Mar 2003 05:39:27 -0800 (PST) Subject: [Csci551-talk] multiple routes for external nodes? In-Reply-To: <007201c2f417$8c5fa9e0$e1e37d80@xwl3> Message-ID: > Hi. In example file s4-1.out, there are two paths to the same external > node: > > 192.163.12.0/24 (1 25 ) (med=2) > 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) > > Can someone explain this? Yes, external router 25 is conveying its relative preference of entry points using the MED value. From johnh@ISI.EDU Thu Mar 27 15:49:34 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 27 Mar 2003 07:49:34 -0800 Subject: [Csci551-talk] multiple routes for external nodes? In-Reply-To: <007201c2f417$8c5fa9e0$e1e37d80@xwl3> Message-ID: <200303271549.h2RFnYwh006954@dash.isi.edu> On Wed, 26 Mar 2003 20:15:47 PST, Xi Wang wrote: >Hi. In example file s4-1.out, there are two paths to the same external >node: > >192.163.12.0/24 (1 25 ) (med=2) >192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) > >Can someone explain this? > >Thanks, > >Xi Those are two different routes (look at the address and prefix) that happen to be supported by the same external "AS". -John Heidemann From johnh@ISI.EDU Thu Mar 27 15:51:50 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 27 Mar 2003 07:51:50 -0800 Subject: [Csci551-talk] multiple routes for external nodes? In-Reply-To: Message-ID: <200303271551.h2RFpogd006986@dash.isi.edu> On Thu, 27 Mar 2003 05:39:27 PST, Shshank Sharma wrote: > >> Hi. In example file s4-1.out, there are two paths to the same external >> node: >> >> 192.163.12.0/24 (1 25 ) (med=2) >> 192.166.12.0/24 (1 2 3 4 5 6 7 8 25 ) (med=8) >> >> Can someone explain this? > >Yes, external router 25 is conveying its relative preference of entry >points using the MED value. Not quite. Look closer at the route itself (the address/prefix). -John Heidemann From johnh@ISI.EDU Thu Mar 27 19:36:02 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 27 Mar 2003 11:36:02 -0800 Subject: [Csci551-talk] submitting project a Message-ID: <200303271936.h2RJa2DW004123@dash.isi.edu> There is a bug in the project a submit instructions where the example says to use submit -user csci551 -tag proj1 file1 [ file2 ... ] This should be: submit -user csci551 -tag proja file1 [ file2 ... ] (proj1 will not work). -John Heidemann From xiw@usc.edu Thu Mar 27 22:15:22 2003 From: xiw@usc.edu (usc.edu) Date: Thu, 27 Mar 2003 14:15:22 -0800 Subject: [Csci551-talk] verify implicit requirements References: <200303271551.h2RFpogd006986@dash.isi.edu> Message-ID: <00d701c2f4ae$5c306ec0$d65b7d80@ural> Hi. I would like to make sure some details of my implemention is as expected -- ** For statistics in the output file: messages-dropped: Count dropped route update + ACK or just route update? (I assume we should also drop ACK?) messages-sent: Only count route update, not ACK messages-received: Only count route update, not ACK * *For routes in the output file: Output a routing table whenever route calculation is performed, even if the table is the same as perivous version. Thanks, Xi From johnh@ISI.EDU Thu Mar 27 23:32:20 2003 From: johnh@ISI.EDU (John Heidemann) Date: Thu, 27 Mar 2003 15:32:20 -0800 Subject: [Csci551-talk] Re: verify implicit requirements In-Reply-To: <00d701c2f4ae$5c306ec0$d65b7d80@ural> Message-ID: <200303272332.h2RNWKd3007112@dash.isi.edu> On Thu, 27 Mar 2003 14:15:22 PST, "usc.edu" wrote: >Hi. I would like to make sure some details of my implemention is as >expected -- > >** For statistics in the output file: > >messages-dropped: Count dropped route update + ACK or just route update? (I >assume we should also drop ACK?) > >messages-sent: Only count route update, not ACK >messages-received: Only count route update, not ACK For all of these you should count/drop all messages equivalently. Both data and acks should be subject to droppage. Both should be counted as sent/received (except that don't count dropped message as received). Why would you treat messages-dropped one way and messages-sent another wrt data and ACKs? > >* *For routes in the output file: > >Output a routing table whenever route calculation is performed, even if the >table is the same as perivous version. There are reasonable several options about when to output the routing table: After any change, after processing any DV message that causes a change, after processing any DV message. The details of which you chose are not so important, provided you pick something reasonable and (if you're not sure about if it's reasonable) justify your choice in README. -John Heidemann From yongjkim@usc.edu Fri Mar 28 18:07:06 2003 From: yongjkim@usc.edu (yong kim) Date: Fri, 28 Mar 2003 10:07:06 -0800 Subject: [Csci551-talk] Question about grade Message-ID: <8e24993032.930328e249@usc.edu> Dear Professor. I have question about final grading. 1. Do you use curve or use only absolute score. 2. If you use score, could you tell me grade range such as 85%-100% A 75%-85% B ... Thanks. From gnawali@usc.edu Fri Mar 28 23:34:05 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Fri, 28 Mar 2003 15:34:05 -0800 Subject: [Csci551-talk] midterm pick-up Message-ID: <200303282334.h2SNY5NJ007739@enl.usc.edu> Dear class, I have your midterm papers. You can pick them up from me during the office hours. Thanks. - om_p From gnawali@usc.edu Fri Mar 28 23:42:10 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Fri, 28 Mar 2003 15:42:10 -0800 Subject: [Csci551-talk] hair brush Message-ID: <200303282342.h2SNgALG007884@enl.usc.edu> Somebody left her? hair-brush at John's office. I have it. Please pick it up from me during my office hour. Thanks. - om_p From gnawali@usc.edu Sat Mar 29 02:52:09 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Fri, 28 Mar 2003 18:52:09 -0800 Subject: [Csci551-talk] hw2 Message-ID: <200303290252.h2T2q9vp009793@enl.usc.edu> Dear class, I just posted (on the 551 TA webpage) the ns scripts mentioned in hw2. - om_p From shetye@usc.edu Sun Mar 30 09:09:43 2003 From: shetye@usc.edu (Siddharth Shetye) Date: Sun, 30 Mar 2003 01:09:43 -0800 Subject: [Csci551-talk] base code for project B ? References: <200303292005.h2TK57Z06707@gamma.isi.edu> Message-ID: <001601c2f69c$208a49a0$06107e18@darkstar> Hi, Could we have the base code for project B (i.e. solution for project A) ? As the professor mentioned that it takes some time to understand other peoples code, so I thought it'd be nice if we could have a look at the code from now itself so that we could get comfortable with the new code. Thanks Siddharth From gnawali@usc.edu Sun Mar 30 22:47:23 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Sun, 30 Mar 2003 14:47:23 -0800 Subject: [Csci551-talk] ProjA Slip day confirmation Message-ID: <200303302247.h2UMlNXn009047@enl.usc.edu> I sent out confirmation of all the Slip day's that have been granted. If you did not get a confirmation from me, you are not using Slip day. If you did get an email, you are using Slip day. From gnawali@usc.edu Mon Mar 31 16:21:25 2003 From: gnawali@usc.edu (Omprakash Gnawali) Date: Mon, 31 Mar 2003 08:21:25 -0800 Subject: [Csci551-talk] midterm pickup Message-ID: <200303311621.h2VGLPHi018326@enl.usc.edu> You can pickup your midterm and hairbrush from me during the office hours. - om_p