Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!DECWRL.DEC.COM!mogul From: mogul@DECWRL.DEC.COM (Jeffrey Mogul) Newsgroups: comp.protocols.tcp-ip Subject: Re: default broadcast address Message-ID: <8807142329.AA15478@acetes.dec.com> Date: 14 Jul 88 23:29:00 GMT References: <8807141838.AA03149@bacchus.dec.com> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 33 Phil Karn writes: In my opinion, hosts should treat any packet as a broadcast if it comes in with the LINK level broadcast address (e.g., all 1's on Ethernet). The IP destination address field in such packets should be completely IGNORED. I'm not sure this is precisely right. There are really two different reasons to recognize incoming packets as broadcast: (1) Proper broadcasts should be accepted and passed to the appropriate receiver process. (2) Certain things should never be done with packets that are received as broadcasts, link-level or IP-level. "BOOTP" packets, etc., come under reason 1. Not sending ICMP error messages in response to broadcasts comes under reason 2. The remaining question is: what should be done with a packet that is received as a link-layer broadcast but is addressed to an IP address which is not believed to be a broadcast address. Simply "ignoring" the IP address would be a mistake because the packet might be meant for a different host. In my opinion, a (non-gateway) host should simply drop any packet with a destination that is not either one of its own IP addresses, or one of its IP broadcast addresses. In addition, all hosts (gateway or not) must remember whether a packet was received as a link-level broadcast, to avoid violating the rule in reason 2 (above). So what should a gateway do if it receives an IP packet that it would normally forward, but the packet was a link-level broadcast? Drop it? Forward it? Forward it and send a redirect, if necessary? The conservative approach would be "drop it", but perhaps someone is trying to discover a gateway in a brain-damaged sort of way. Again, simply "ignoring" the IP address is probably wrong. Suggestions?