国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
套接字選項(xiàng)(四)_深度探索Linux內(nèi)核
    繼續(xù)講關(guān)于myraw_setsockopt的實(shí)現(xiàn),如果level是SOL_IP,則調(diào)用myip_setsockopt函數(shù)。 myip_setsockopt的操作對(duì)像是struct socket sock的成員struct sock sk。并把sk強(qiáng)制轉(zhuǎn)化為struct inet_sock: inet = inet_sk(sk)。
    如果option_name在MRT_BASE和MRT_BASE+10之間,則調(diào)用myip_mroute_setsockopt函數(shù),關(guān)于mroute,后面再給出分析。
    IP_OPTIONS:設(shè)置將由該套接字發(fā)送的每個(gè)包的IP選項(xiàng)。
    其option_value是一個(gè)結(jié)構(gòu)體struct ip_options。該選項(xiàng)首先分配一個(gè)這樣的結(jié)構(gòu)體,然后用這個(gè)結(jié)構(gòu)體替代inet->opt指向的結(jié)構(gòu)體。如果協(xié)議類型是 SOCK_STREAM的話,從struct tcp_sock *tp中,tp->ext_header_len減去舊的inet->opt->optlen, 再加上新的opt->optlen。最后調(diào)用tcp_sync_mss進(jìn)行同步,有關(guān)TCP的一些細(xì)節(jié),我們?cè)趯?shí)現(xiàn)TCP協(xié)議時(shí)再分析。
    IP_PKTINFO:傳遞一條包含pktinfo結(jié)構(gòu)(該結(jié)構(gòu)提供一些來訪包的相關(guān)信息)的IP_PKTINFO輔助信息。
    這個(gè)選項(xiàng)只對(duì)數(shù)據(jù)報(bào)類的套接字有效。
    struct in_pktinfo
    {
        unsigned int ipi_ifindex; /* 接口索引 */
        struct in_addr ipi_spec_dst; /* 路由目的地址 */
        struct in_addr ipi_addr; /* 頭標(biāo)識(shí)目的地址 */
    };
ipi_ifindex 指的是接收包的接口的唯一索引。ipi_spec_dst指的是路由表記錄中的目的地址,而ipi_addr 指的是包頭中的目的地址。如果給 sendmsg傳遞了IP_PKTINFO,那么外發(fā)的包會(huì)通過在ipi_ifindex中指定的接口發(fā)送出去,同時(shí)把ipi_spec_dst設(shè)置為目 的地址。
    myip_setsockopt的代碼實(shí)現(xiàn)中只是根據(jù)option_value是否為0,置或清inet->cmsg_flags的IP_CMSG_PKTINFO位。
    IP_RECVTTL:
    該選項(xiàng)根據(jù)option_value的值是否為0,置或清inet->cmsg_flags的IP_CMSG_TTL位,具體用途,留待日后分析。
    IP_RECVTOS:
    如果打開了這個(gè)選項(xiàng),則IP_TOS輔助信息會(huì)與來訪包一起傳遞。它包含一個(gè)字節(jié)用來指定包頭中的服務(wù)/優(yōu)先>級(jí)字段的類型。該字節(jié)為一個(gè)布爾整型 標(biāo)識(shí)。該選項(xiàng)根據(jù)option_value的值是否為0,置或清inet->cmsg_flags的IP_CMSG_TOS位。
    IP_RECVOPTS:
    用一條IP_OPTIONS控制信息傳遞所有來訪的IP選項(xiàng)給用戶。路由頭標(biāo)識(shí)和其它選項(xiàng)已經(jīng)為本地主機(jī)填好.此選項(xiàng)不支持SOCK_STREAM套接 字。該選項(xiàng)根據(jù)option_value的值是否為0,置或清inet->cmsg_flags的IP_CMSG_RECVOPTS位。
    IP_RETOPTS:
    等同于IP_RECVOPTS但是返回的是帶有時(shí)間戳的未處理的原始選項(xiàng)和在這段路由中未填入的路由記錄項(xiàng)目。該>選項(xiàng)根據(jù) option_value的值是否為0,置或清inet->cmsg_flags的IP_CMSG_RETOPTS位。
    IP_TOS:
    設(shè)置源于該套接字的每個(gè)IP包的Type-Of-Service(TOS 服務(wù)類型)字段。它被用來在網(wǎng)絡(luò)上區(qū)分包的優(yōu)先級(jí)>。TOS是單字節(jié)的字段。定義了一些的標(biāo)準(zhǔn)TOS標(biāo)識(shí):IPTOS_LOWDELAY用來為交互 式通信最小化延遲時(shí)間,IPTOS_THROUGHPUT用來優(yōu)化吞吐量,IPTOS_RELIABILITY用來作可靠性優(yōu)化, IPTOS_MINCOST應(yīng)該被用作“填充數(shù)據(jù)”,對(duì)于這些數(shù)據(jù),低速傳輸是無關(guān)緊要的。至多只能聲明這些 TOS 值中的一個(gè),其它的都是無效的,應(yīng)當(dāng)被清除。缺省時(shí),Linux首先發(fā)送IPTOS_LOWDELAY數(shù)據(jù)報(bào),但是確切的做法要看配置的排隊(duì)規(guī)則而定。一 些高優(yōu)先級(jí)的層次可能會(huì)要求一個(gè)有效的用戶標(biāo)識(shí)0或者CAP_NET_ADMIN能力。優(yōu)先級(jí)也可以以于協(xié)議無關(guān)的方式通過( SOL_SOCKET, SO_PRIORITY )套接字選項(xiàng)來設(shè)置。
    該選項(xiàng)的操作置inet->tos = val,sk->sk_priority = rt_tos2priority(val),同時(shí),清sk->sk_dst_cache。
    IP_TTL:設(shè)置從此套接字發(fā)出的包的當(dāng)前生存時(shí)間字段。
    該選項(xiàng)置inet->uc_ttl = option_value。
    IP_HDRINCL:
    該選項(xiàng)只對(duì)SOCK_RAW有效,如果提供的話,用戶可在用戶數(shù)據(jù)前面提供一個(gè)ip頭。該選項(xiàng)的操作根據(jù)option_value是否為零,置inet->hdrincl為1或0。
    IP_MTU_DISCOVER:
    為套接字設(shè)置Path MTU Discovery setting(路徑MTU發(fā)現(xiàn)設(shè)置)。該選項(xiàng)的操作置inet->pmtudisc = option_value,option_value只允許取值0,1,2。
    IP_SOL層上余下的選項(xiàng)還有:
    IP_RECVERR,IP_MULTICAST_TTL,IP_MULTICAST_LOOP,IP_MULTICAST_IF, IP_ADD_MEMBERSHIP,IP_DROP_MEMBERSHIP,IP_MSFILTER,IP_BLOCK_SOURCE, IP_UNBLOCK_SOURCE,IP_ADD_SOURCE_MEMBERSHIP,IP_DROP_SOURCE_MEMBERSHIP, MCAST_JOIN_GROUP,MCAST_LEAVE_GROUP,MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP,MCAST_BLOCK_SOURCE,MCAST_UNBLOCK_SOURCE, MCAST_MSFILTER,IP_ROUTER_ALERT,IP_FREEBIND,IP_IPSEC_POLICY, IP_XFRM_POLICY。
    在涉及到相關(guān)內(nèi)容時(shí),再進(jìn)行一一分析。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
原始套接字
利用原始套接字抓取數(shù)據(jù)
UNIX socket API 復(fù)習(xí) 基礎(chǔ)概念篇
??socket實(shí)現(xiàn)Ping命令打造?BOSS來了?摸魚神器?干貨巨多??建議收藏??
傳輸模型和套接字
一文帶你了解Python Socket 編程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服