but those that are working in low level programming often don't know what DNS, FTP or SQL is
That's a very baffling statement that doesn't reflect any of my experiences (I don't think you realize just how big FTP is/was). How are you defining "low-level programmer" here?