# How is IPLD data stored?

**URL:** <https://discuss.ipfs.tech/t/how-is-ipld-data-stored/1397>\
**Category:** Help\
**Tags:** ipld\
**Created:** [November 6, 2017, 2:49pm UTC](https://discuss.ipfs.tech/t/how-is-ipld-data-stored/1397 "2017-11-06T14:49:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![drozdziak1](https://avatars.discourse-cdn.com/v4/letter/d/b2d939/32.png) [@drozdziak1](https://discuss.ipfs.tech/u/drozdziak1)\
**Post date:** [November 6, 2017, 2:49pm UTC](https://discuss.ipfs.tech/t/how-is-ipld-data-stored/1397/1 "2017-11-06T14:49:09Z")

</div>

If I understand correctly, IPLD takes care of managing two entity types - Nodes and Links, which let the user give their data a logical structure, e.g.:

```
{
    "files": [
        {
            "name": "foo.txt",
            "mode": "777",
            "contents": { "/": "/ipfs/QmSomeLink..."}
        },
        {
            "name": "bar.txt",
            "mode": "755",
            "contents": { "/": "/ipfs/QmSomeOtherLink..."}
        },
    ]
}

```

But whenever the links need to be resolved, **how does the implementation look the destination up?** Are the contents obtained by traversing the DAG in some clever way, or is there maybe a separate, specialized lookup/hash table?
