Broadcasts and netmask

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a Fedora 20 machine which is receiving UDP broadcast packets at
regular intervals on a high port. No program is presently listening
for these packets. If I run, "tcpdump -iany port 29531", I see each
of the packets arriving just as I expect.

But if I then use Ncat as a surrogate for an application, "nc -lup
29531", I sometimes don't see anything! Why not? (More details
below.) What obvious thing am I missing?

The machine has ten Ethernet ports, two Broadcom BCM5716 and eight
Intel 82576. The Broadcom ports are using the bnx2 driver, the Intel
ports use the igb driver.

Connecting the cable from the broadcast sender to any one of the ports,
I get the exactly same behavior. Without assigning the port an address,
tcpdump shows that the UDP broadcast packets are received but they are
not forwarded to an application. For example,

  # ifup eth2
  # ifconfig eth2
  eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          inet6 fe80::92e2:baff:fe32:f8a8  prefixlen 64  scopeid 0x20<link>
          ether 90:e2:ba:32:f8:a8  txqueuelen 1000  (Ethernet)
          RX packets 3892  bytes 3552566 (3.3 MiB)
          RX errors 0  dropped 0  overruns 0  frame 0
          TX packets 652  bytes 230557 (225.1 KiB)
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
          device memory 0xdc7c0000-dc7dffff
  # tcpdump -ieth2 udp port 29531
  tcpdump: WARNING: eth2: no IPv4 address assigned
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
  14:40:14.343946 IP 172.17.5.1.60142 > 255.255.255.255.29531: UDP, 
length 1212
  14:40:15.349595 IP 172.17.5.1.60142 > 255.255.255.255.29531: UDP, 
length 1212
  14:40:16.360263 IP 172.17.5.1.60142 > 255.255.255.255.29531: UDP, 
length 1212
  # nc -i2 -lup 29531
  Ncat: Idle timeout expired (2000 ms). QUITTING.

(The destination MAC address is FF:FF:FF:FF:FF:FF.)

When I assign the port an address, the result seems to depend on the
netmask I assign. For any netmask from 1 to 19, applications see the
broadcast. For netmasks from 20 through 32, they don't.

  # ifconfig eth2 172.17.17.254/19
  # nc -i2 -lup 29531
  p%�{"00":24,"01":"13/10/15 00:34:36","04":0,"05":0,"06":3,"08":0,...
  # ifconfig eth2 172.17.17.254/20
  # nc -i2 -lup 29531
  Ncat: Idle timeout expired (2000 ms). QUITTING.

For all netmasks, tcpdump still shows the packets being received.
(Obviously, tcpdump doesn't care about the port's address.) But I don't
understand why the drivers treat the broadcast differently based on
the netmask.

Of course, this behavior might not be unique to Fedora but that's the
environment I'm using. If this is known network behavior in general,
I'd sure appreciate some pointer to a reference.
-- 
	Dave Close
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org




[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux