《TCP/IP详解》分为三卷,卷一侧重于原理,卷二、卷三更多涉及编程细节。对于初学者来说,建议从头开始,不漏过任何细节,无论是网络工程师还是软件工程师,都应如此。
其中,TCP协议是复杂且难以真正精通的,开发人员通常只需调用几个常规socket接口,TCP的细节被隐藏。精通TCP细节,能深入了解影响其性能的因素,如窗口大小、缩放窗口、最大数据段大小、选择性acknowledgment、快速重传/恢复、拥塞避免、重传定时器、持久定时器、重传时间间隔、RTT等。了解如何增强其安全性,如选项19和29等。TCP的每个字段、标志位都应了然于胸,如同熟知自己的双手。
IP协议是网络的核心,目前常用的网络层协议即为IP。深入研究其字段,便可了解它完成的任务。如服务质量(QoS)、分段/重组、目标IP路由、协议的多路复用/多路分解、IP报文头校验和、生存时间(TTL)等。IP路由,即IP路由协议,类似于电子导航,帮助IP包到达目的地。
ICMP协议不仅用于ping和traceroute,它们仅是利用ICMP协议特性的小程序。要深刻理解ICMP类型0、3、5、8、11,IP包在达到终点前的任何节点出现错误,都会通过ICMP向源主机传达错误信息。
IGMP协议与组播相关,组播应用日益增多,了解其工作原理,IGMPv1/v2/v3,以及对于编程与组播相关的应用,还需了解PIM-ASM、PIM-SSM、PIM-bidir,以及SPT、RPT等。
UDP协议简单,除了源/目的端口,剩下的只有长度和校验和。UDP应结合广播/组播来理解。
ARP协议虽然简单,但也应扩展阅读无主ARP、ARP欺骗等。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。