国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > Linux

linux中iphdr是什么

Linux 2022-11-19 13:19:28

Linux中,iphdr是ip數(shù)據(jù)包的描述結(jié)構(gòu)體;iphdr所在的頭文件為“/usr/src/linux/include/linux/ip.h”,結(jié)構(gòu)體是由一批數(shù)據(jù)組合而成的結(jié)構(gòu)型數(shù)據(jù),組成結(jié)構(gòu)型數(shù)據(jù)的每個(gè)數(shù)據(jù)稱為結(jié)構(gòu)型數(shù)據(jù)的成員,其描述了一塊內(nèi)存區(qū)間的大小及解釋意義。

程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步

教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux中iphdr是什么

iphdr,是一種計(jì)算機(jī)用語。是Linux下IP數(shù)據(jù)包的描述結(jié)構(gòu)體。

所在頭文件為/usr/src/linux/include/linux/ip.h,結(jié)構(gòu)如下:

struct iphdr {
#if defined(__LITTLE_ENDIAN_BITFIELD) //小端模式下
    __u8 ihl:4,//首部長(zhǎng)度(4位)
        version:4;//ip協(xié)議版本IPv4
#elif defined (__BIG_ENDIAN_BITFIELD) //大端模式下
    __u8 version:4,
        ihl:4;
#else
#error "Please fix "
#endif
    __u8 tos;//服務(wù)類型字段(8位)
    __be16 tot_len;//16位IP數(shù)據(jù)報(bào)總長(zhǎng)度
    __be16 id;//16位標(biāo)識(shí)字段(唯一表示主機(jī)發(fā)送的每一分?jǐn)?shù)據(jù)報(bào))
    __be16 frag_off;//(3位分段標(biāo)志+13位分段偏移數(shù))
    __u8 ttl;//8位數(shù)據(jù)報(bào)生存時(shí)間
    __u8 protocol;//協(xié)議字段(8位)
    __be16 check;//16位首部校驗(yàn)
    __be32 saddr; //源IP地址
    __be32 daddr; //目的IP地址
};
登錄后復(fù)制

擴(kuò)展知識(shí)

iphdr->version

版本(4位),目前的協(xié)議版本號(hào)是4,因此IP有時(shí)也稱作IPv4。

iphdr->ihl

首部長(zhǎng)度(4位):首部長(zhǎng)度指的是IP層頭部占32 bit字的數(shù)目(也就是IP層頭部包含多少個(gè)4字節(jié) – 32位),包括任何選項(xiàng)。由于它是一個(gè)4比特字段,因此首部最長(zhǎng)為60個(gè)字節(jié)。普通IP數(shù)據(jù)報(bào)(沒有任何選擇項(xiàng))字段的值是5 <==> 5 * 32 / 8 = 5 * 4 = 20 Bytes。

iphdr->tos

服務(wù)類型字段(8位): 服務(wù)類型(TOS)字段包括一個(gè)3 bit的優(yōu)先權(quán)子字段(現(xiàn)在已被忽略),4 bit的TOS子字段和1 bit未用位但必須置0。4 bit的TOS子字段分別代表:最小時(shí)延、最大吞吐量、最高可靠性和最小費(fèi)用。4 bit中只能設(shè)置其中1 bit。如果所有4 bit均為0,那么就意味著是一般服務(wù)。

iphdr->tot_len

總長(zhǎng)度字段(16位)是指整個(gè)IP數(shù)據(jù)報(bào)的長(zhǎng)度,以字節(jié)為單位。利用首部長(zhǎng)度字段和總長(zhǎng)度字段,就可以知道 IP數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長(zhǎng)度。由于該字段長(zhǎng)16比特,所以IP數(shù)據(jù)報(bào)最長(zhǎng)可達(dá)65535字節(jié),總長(zhǎng)度字段是IP首部中必要的內(nèi)容,因?yàn)橐恍?shù)據(jù)鏈路(如以太網(wǎng))需要填充一些數(shù)據(jù)以達(dá)到最小長(zhǎng)度。盡管以太網(wǎng)的最小幀長(zhǎng)為46字節(jié),但是IP數(shù)據(jù)可能會(huì)更短。如果沒有總長(zhǎng)度字段,那么IP層就不知道46字節(jié)中有多少是IP數(shù)據(jù)報(bào)的內(nèi)容。

iphdr->id

標(biāo)識(shí)字段(16位)唯一地標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)。通常每發(fā)送一份報(bào)文它的值就會(huì)加1。

推薦學(xué)習(xí):Linux視頻教程

以上就是linux中iphdr是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號(hào):國作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請(qǐng)注明來源,商業(yè)媒體及紙媒請(qǐng)先聯(lián)系:aishangyiwan@126.com

工信部備案號(hào):湘ICP備19012813號(hào)-5