linux中iphdr指的是什么

本篇內(nèi)容介紹了“l(fā)inux中iphdr指的是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達十載累計超上千家客戶的網(wǎng)站建設總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營銷推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:活動板房等企業(yè),備受客戶認可。

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

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

linux中iphdr是什么

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

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

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

linux中iphdr指的是什么

擴展知識

iphdr->version

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

iphdr->ihl

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

iphdr->tos

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

iphdr->tot_len

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

iphdr->id

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

“l(fā)inux中iphdr指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

本文標題:linux中iphdr指的是什么
文章轉(zhuǎn)載:http://muchs.cn/article40/ipiheo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設移動網(wǎng)站建設、營銷型網(wǎng)站建設、網(wǎng)站策劃、網(wǎng)站設計公司Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化