steve@umiacs.UMD.EDU (07/06/89)
For various ugly reasons, the question of whether or not IP packets with their source IP address on network 0 should be forwarded has come up here. I don't see any direct prohibition in an admittedly quick perusal of the Hosts Requirements draft or of the Gateway Requirements RFC. Still, I can see reasons for going either way, and I'm curious as to what others think. It seems to me that net 0 means 'this network', and that packets for this network shouldn't leave it. Consider what happens if a forward a packet from net 0 to some other network. When some other host gets that packet, it's either got to respond using the net 0 source address as the destination address (and thus violate RFC 1009, section 4.4), or it's got to use the information in the packet to build a different reply to another IP address. Maybe the latter either happens in real life, or should be allowed to happen -- I just don't know. Opinions? (Polite RTFMs are more than welcome.) (This came up in trying to boot a Sun-2 over the net. I can provide more details if people are interested; I don't think this will be a problem for 99.44% of all people Out There, but since it did come up...) -Steve Spoken: Steve Miller Domain: steve@mimsy.umd.edu UUCP: uunet!mimsy!steve Phone: +1-301-454-1808 USPS: UMIACS, Univ. of Maryland, College Park, MD 20742
CERF@A.ISI.EDU (07/10/89)
Steve, It seems to me that packets with source address 0 should NOT leak out of the net in which they originated. Forwarding to another address on the same local net is probably OK, although this could lead to confusion since source address of zero means "me on this local net" and "me" would change if the packet were forwarded... Vint Cerf
braden@VENERA.ISI.EDU (07/15/89)
Steve, The Host Requirements RFC draft (Internet Layer, Section 3.2.1.3) says a host MUST NOT send {0,*} except as a source address as part of a booting procedure (which is your case, I believe). More importantly, a host receiving a datagram with such a source address MUST ignore the datagram. The discussion of filtering bogus addresses in RFC-1009 (Section 4.4 and Appendix A.1) talks only about the destination address; it does outlaw forwarding to {0,*} as a destination. We put no requirements on the source address in order to avoid excessive gateway overhead. I would certainly agree with you and Vint that architecturally, a gateway that forwards such a datagram is in bad odor, but for efficiency reasons you may want to enforce this at the end host, not the gateway. Bob Braden