利用“原始套接字”(Raw Socket),我们可访问位于基层的传输协议。本章专门讲解如何运用这种原始套接字,来模拟 IP的一些实用工具,比如 Tr a c e r o u t e和P i n g程序等等。使用原始套接字,亦可对 I P头信息进行实际的操作。本章只关心 I P协议;至于如何针对其他协议使用原始套接字,我们不打算提及。而且,大多数协议(除 AT M以外)根本就不支持原始套接字。所有原始套接字都是使用 S O C K _ R AW这个套接字类型来创建的,而且目前只有 Wi n s o c k 2提供了对它的支持。因此,无论 Microsoft Windows CE 还是老版本的 Windows 95(无 Winsock 2升级)均不能利用原始套接字的能力。此外,要想顺利使用原始套接字,要求对基层的协议结构有一定程度的认识,而那已超出了本书的范围。在这一章中,我们打算讨论 I n t e r n e t控制消息协议(I C M P)、I n t e r n e t组管理协议(I G M P)以及用户数据报协议( U D P)。I C M P会由P i n g这个实用程序用到,以便探测到某个主机的路由是否有效和畅通,看看对方的机器是否会作出响应。对程序开发者来说,经常都要用到一种程序化的方法,以便判断一台机器是否“活动”,网络数据能否抵达它。 I P多播通信利用 I G M P将多播组成员信息通告给路由器。大多数 Wi n 3 2平台目前都增加了对 I G M P 第2版的支持。但在某些情况下,我们也需要送出自己的 IGMP数据包,以便脱离组成员关系。至于UDP协议,我们打算把它同 I P _ H D R I N C L这个套接字选项组合起来讨论。以它为例,讲述如何发送自己的I G M P包。对这三种协议来说,我们都只会讲解与本章示范代码及示范程序密切相关的那些部分。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !