FireWire uses 64-bit fixed addressing, based on the IEEE 1212 standard. There are three parts to each packet of information sent by a device over FireWire:
- A 10-bit bus ID that is used to determine which FireWire bus the data came from
- A 6-bit physical ID that identifies which device on the bus sent the data
- A 48-bit storage area that is capable of addressing 256 terabytes of information for each node
The bus ID and physical ID together comprise the 16-bit node ID, which allows for 64,000 nodes on a system. Data can be sent through up to 16 hops (device to device). Hops occur when devices are daisy-chained together. Look at the example below. The camcorder is connected to the external hard drive connected to Computer A. Computer A is connected to Computer B, which in turn is connected to Computer C. It takes four hops for Computer C to access the camera.
Assuming all of the devices in this setup are equipped with FireWire 800, the camcorder can be up to 400 meters from Computer C.
Now that we've seen how FireWire works, let's take a closer look at one of its most popular applications: streaming digital video.