In several multiterminal communication systems, it has been noted that the average performance of linear code ensemble is better than that of the standard unstructured code ensemble. However, it is well-known that linear code ensembles cannot achieve the point-to-point capacity of an arbitrary discrete memoryless channel. In this talk we show that nested linear codes achieve the capacity of arbitrary discrete memoryless channels. We then show that Marton's inner bound on the capacity of discrete memoryless broadcast channels can be achieved using nested linear codes.