欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

ipv4校驗(yàn)和計(jì)算

ipv4校驗(yàn)和的計(jì)算

創(chuàng)新互聯(lián)公司專注于玉龍企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。玉龍網(wǎng)站建設(shè)公司,為玉龍等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

原理:

計(jì)算方法一:除去校驗(yàn)和的兩位,將其他的位相加:45+00+00+3c+55+81+00+00+40+01+ac+1c

0f+0d+ac+1c+0f+0e=

計(jì)算方法二:

校驗(yàn)和(checksum)算法,簡單的說就是16位累加的反碼運(yùn)算:

計(jì)算函數(shù)如下:

我們在計(jì)算時(shí)是主機(jī)字節(jié)序,計(jì)算的結(jié)果封裝成IP包時(shí)是網(wǎng)絡(luò)字節(jié)序,注意這兩者之間的區(qū)別,我們在從IP包里讀取要轉(zhuǎn)化為主機(jī)字節(jié)序,往IP包里存入時(shí)要轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序在存入。

UINT32 Checksum(UINT32 cksum, VOID*pBuffer, UINT32 size)

{

   INT8 num = 0;

   UINT8 *p = (UINT8 *)pBuffer;

 

   if ((NULL == pBuffer) || (0 == size))

    {

       return cksum;

    }

  

   while (size > 1)

    {

       cksum += ((UINT16)p[num] << 8 & 0xff00) | (UINT16)p[num + 1]& 0x00FF;

/*2個(gè)字節(jié)累加,先取網(wǎng)絡(luò)字節(jié)序低位左移8位(變成主機(jī)字節(jié)序高位),與(加)上 網(wǎng)絡(luò)字節(jié)序中的高位(主機(jī)字節(jié)序地位),即網(wǎng)絡(luò)字節(jié)序要先變成主機(jī)字節(jié)序在進(jìn)行累加,*/

       size  -= 2;

       num   += 2;

    }

  

if (size > 0)

//如果長度為奇數(shù)

    {

       cksum += ((UINT16)p[num] << 8) & 0xFFFF;

//如果總的字節(jié)數(shù)為奇數(shù),則最后一個(gè)字節(jié)單獨(dú)相加

       num += 1;

    }

 

   while (cksum >> 16)

    {

       cksum = (cksum & 0xFFFF) + (cksum >> 16);

//累加完畢將結(jié)果中高16位再加到低16位上,重復(fù)這一過程直到高16位為全0

    }

  

   return cksum;

}

 

注意:UINT32 cksum的類型,這里是4個(gè)字節(jié)的,防止在累加的過程中,數(shù)據(jù)溢出,(例如 0xFF 累加時(shí)就會(huì)內(nèi)存溢出)

 

詳細(xì)的計(jì)算過程和原理如下

一:ip 頭 的計(jì)算:

直接對(duì)頭部數(shù)據(jù)進(jìn)行累加(不包括原來的checksum值):

1、ipv4包頭

 

       ipHeadLen  =(pIpHeader->ver_ihl & 0x0F) << 2;

在ipv4 頭中,版本類型和頭長度加在一起是1 個(gè)字節(jié)(8位),各占4位,版本類型在前,長度在后,所以要取長度只能取低4 位,

       pIpHeader->chksum = 0;

因?yàn)椴话ㄔ瓉淼腸hecksum值,所以在每次計(jì)算前先把checksum的值置0,然后計(jì)算

       sum = Checksum(0, (VOID *)pIpHeader, ipHeadLen);

對(duì)整個(gè)ip包頭的累加

       pIpHeader->chksum = HTONS((UINT16)(~sum));

結(jié)果為計(jì)算值的反碼,(別忘轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序)

新聞名稱:ipv4校驗(yàn)和計(jì)算
網(wǎng)址分享:http://chinadenli.net/article24/iegoje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站制作、網(wǎng)站排名ChatGPT、移動(dòng)網(wǎng)站建設(shè)App開發(fā)

廣告

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

營銷型網(wǎng)站建設(shè)
在线观看视频国产你懂的| 国产一区麻豆水好多高潮| 中文字幕人妻一区二区免费| 日本熟女中文字幕一区| 国产又粗又硬又长又爽的剧情| 欧美日韩亚洲国产综合网| 亚洲国产欧美精品久久| 国产又粗又猛又大爽又黄同志| 中文字幕人妻av不卡| 婷婷色国产精品视频一区| 国产欧美一区二区另类精品| 色鬼综合久久鬼色88| 高清在线精品一区二区| 国产日韩欧美综合视频| 亚洲欧美日韩熟女第一页| 欧美日韩国产二三四区| 免费性欧美重口味黄色| 日韩高清一区二区三区四区| 激情五月天免费在线观看| 日本高清不卡在线一区| 一区二区三区欧美高清| 日韩成人中文字幕在线一区| 熟妇久久人妻中文字幕| 亚洲性生活一区二区三区| 午夜精品麻豆视频91| 亚洲伦片免费偷拍一区| 五月天综合网五月天综合网| 国产视频一区二区三区四区| 经典欧美熟女激情综合网| 亚洲午夜精品视频观看| 日韩精品成区中文字幕| 久久人妻人人澡人人妻| 九九热视频网在线观看| 亚洲天堂精品1024| 久久香蕉综合网精品视频| 日韩欧美精品一区二区三区| 真实偷拍一区二区免费视频| 91免费精品国自产拍偷拍| 好吊妞视频这里有精品| 五月综合婷婷在线伊人| 国产视频福利一区二区|