6 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Windows XP operating system

  • Windows Server 2003 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 1.4: For more information about the bridge component and its use of STP, see the Windows XP product documentation in [WindowsBridge1] and the Windows Server TechCenter documentation in [WindowsBridge2].

<2> Section 1.4: The Microsoft Windows implementation of IPo1394 uses a 1-byte pseudo-random number for the 'client identifier' option field used in DHCP messages, as specified in [RFC2855] section 3.

<3> Section 1.6: The IPo1394 protocol, as specified in [RFC2734] and this document, is implemented in Windows XP and Windows Server 2003.

<4> Section 3.1.1: On a Windows implementation of 1394 ARP (as specified in [RFC2734] section 5), a table of outstanding ARP requests is used. Each entry in the table contains an IP address, a retransmission count, a retransmission timer, and an expiration timer, as specified in section 3.1.2.

There is also a cache of previously resolved ARP requests, so that transmission of subsequent IPv4 datagrams does not require additional ARP requests to be sent. Each entry in the ARP cache contains an IP address, unique_ID, unicast_FIFO_hi, and unicast_FIFO_lo, as specified in [RFC2734] section 5.

<5> Section 3.1.2: [RFC2734] does not explicitly mention any timers. However, to implement 1394 ARP (as specified in [RFC2734] section 5) Windows uses two timers.

  • A 60-second retransmission timer per entry in the outstanding ARP request table.

  • A 4-minute expiration timer per entry in the ARP cache.

<6> Section 3.1.3: The Windows implementation of IPo1394 uses a pseudo-random EUI-48 value with the Locally Administered bit set in the EUI-48 that is given to and used by STP (as specified in [IEEE802.1D] section 9) to generate the bridge ID.

<7> Section 3.1.3: At initialization time, when Windows 1394 ARP first acquires an address, it performs duplicate address detection by sending a gratuitous ARP for its own address (as is common practice on Ethernet). If another node responds to this request, the address is not used.

<8> Section 3.1.4.1: [RFC2734] section 7 specifies multiple ways of transmitting IPv4 unicast datagrams. The Windows implementation of IPo1394 sends unicast IPv4 datagrams by using transaction code 0x01 (asynchronous block write packet), as specified in [RFC2734] section 7.

<9> Section 3.1.4.2: The Windows implementation of IPo1394 uses "IP broadcast" for the multicast transmit. Specifically, any higher-layer initiated multicast traffic is transmitted by IPo1394 on the BROADCAST_CHANNEL, as specified in [RFC2734] section 8.

<10> Section 3.1.5.2: The Windows implementation of IPo1394 implements the "multicast receive" as specified in relation to the Multicast Channel Allocation Protocol (MCAP), as specified in [RFC2734] section 9.3.

<11> Section 3.1.6: In Windows implementations when a retransmission timer expires for an entry in the outstanding ARP request table, IPo1394 first checks whether an ARP cache entry already exists for the associated IP address.

  • If no ARP cache entry exists: IPo1394 checks whether the retransmission count for the entry in the retransmission table is less than 4. If it is less than 4, the retransmission count field is incremented and a new ARP request packet is sent. If it is not less than 4, the entry in the retransmission table is deleted.

  •  If an ARP cache entry exists: The ARP cache entry is deleted, and the entry in the retransmission table is also deleted.

The ARP cache entry expiration timer and the events that it triggers are used when a device hardware address is already resolved from a given IP address. The goal is to confirm that the given IP address still resolves to the same device hardware address after four minutes of successful device hardware address resolution. The events described below are used to achieve this goal.

 When an ARP cache entry expiration timer expires, IPo1394 transmits an ARP request packet in an attempt to refresh the hardware address field for that ARP cache entry, adds an entry to the outstanding ARP request table, and starts the retransmission timer.