What Every Engineer Should Know About Data Communications by Carl Stephen Clifton