Layering at the protocol stack and beyond has contributed hugely to the Internet's success, letting functionality be introduced basically overnight. However, it's increasingly hampering the reliability of the network it created.