网络编程学习笔记(IPv4套接口选项)

来源:互联网 发布:淘宝店铺怎么引流 编辑:程序博客网 时间:2024/04/28 10:36

这些选项级别为IPPROTO_IP

IP_HDRINCL:

如果此选项给一个原始IP套接口,必须为所有发判定以此原始套接口上的数据报构造自己的IP头部。一般情况下,内核为发送到原始套接口上的数据报构造IP头部,但也有某些应用程序要构造自己的IP头部以取代IP可能放到其头部的某些字段的值。

当设置此选项时,构造完整的IP头部,不过下列情况例外:

(1)IP总是计算并存储IP头部校验和

(2)如果将IP标识字段置为0,内核将设置此字段

(3)如果源IP地址是IN_ADDR_ANY,IP将它设置为外出接口的主IP地址

(4)如果设置IP选项是依赖于实现的。有些实现取IP_OPTIONS套接口选项中设置的任何IP选项,并将它们附加到所构造的头部中,而其它实现则要求亲自在头部指定任何期望的IP选项。



IP_OPTIONS:

设置此选项允许在IPv4头部中设置IP选项,要求掌握IP头部中IP选项的格式信息。


IP_RECVDSTADDR:

这个套接口选项导致所接收到的UDP数据报的目的IP地址由函数recvmsg作为辅助函数返回。


IP_RECVIF:

这个套接口选项导致所接收到的UDP数据报的接口索引由函数recvmsg作为辅助数据返回


IP_TOS:

此选项使我们可以给TCP或UDP套接口在IP头部中设置服务类型字段。

可以将TOS设置为下面几个值 ,它们都在头文件<netinet/ip.h>中定义

IPTOS_LOWDELAY:最小化延迟

IPTOS_THROUGHPUT:最大化吞吐量

IPTOS_RELIABILITY:最大化可靠性

IPTOS_LOWCOST:最小化成本


IP_TTL:

设置和获取系统用于某个给定套接口的缺省TTL值

0 0
原创粉丝点击