I was reading up on the NTFS structure here, the major question I wanted to answer for myself was how are the blocks in fragmented streams strung together.
The page explains that in the Master File Table files have information about their streams, but the precise explanation of what information is there and how the streams know what blocks belong to them is absent.
My question:
How exactly does NTFS associate strings of blocks to fragmented streams? Is it block headers with pointers to the next block? a stream-block association table? something even cleverer I didn't think of?