[Python-Dev] PEP 3144: IP Address Manipulation Library for the Python Standard Library

"Martin v. Löwis" martin at v.loewis.de
Sat Sep 26 20:19:16 CEST 2009


>>> I think using .network and .broadcast are pretty well understood to be the
>>> [0] and [-1] of the network address block. I don't think we want to start
>>> creating new terms or access patterns here.
>>>
>>> +1 on leaving .network and .broadcast as-is (including returning a
>>> IPvXAddress object).
>>>
>> -1.  I think 'network.number' or 'network.zero' is a lot clearer than
>> 'network.network'.  Maybe '.broadcast' would be okay, as long as it *can* be
>> adjusted for those unusual, or maybe even only hypothetical, networks where
>> it is not the [-1].
> Real life example: network with a /31 mask.
> There are only two hosts: 0 and 1
> first host configures the other's host as broadcast address and vice versa.
> NOTE - broadcasts are different here!

This is RFC 3021. IIUC, it does not support directed broadcast; only
link-local broadcast can be used on that link.

So ISTM that .broadcast should raise an exception on a /31 network. Any
installation that configures the partner as the broadcast address is
broken (somebody correct me if I'm wrong).

> Another real life examples include /32 networks on PPP. Just a point-to-point.
> No need for broadcasts and networks, a host just have one IP address and
> send all traffic via point-to-point link, no addressing is required there.
> This is a working dialup configuration, it works for me, it works for you, probably.
> It is not weird, it is common, it is used for PPPoE, for ADSL, for dialup.

So where is that defined?

Regards,
Martin


More information about the Python-Dev mailing list