国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

《TCP/IP詳解 卷一:協(xié)議》第5章的IPv4數(shù)據(jù)報的Checksum(校驗和)字段的計算(這里才能解開你的困惑)

這篇具有很好參考價值的文章主要介紹了《TCP/IP詳解 卷一:協(xié)議》第5章的IPv4數(shù)據(jù)報的Checksum(校驗和)字段的計算(這里才能解開你的困惑)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

首先,我當(dāng)你看過書,但是比較懵。

1,實例說明Checksum(校驗和)的計算步驟

直奔主題,分析一下這個Checksum(校驗和)怎么算出來的。

先用Wireshark隨便抓一個UDP或TCP包分析一下。

ipv4 checksum error,TCP/IP詳解,Windows,MacOS,tcp/ip,網(wǎng)絡(luò),網(wǎng)絡(luò)協(xié)議

如上面,我們得到IP幀頭部實際數(shù)據(jù)(十六進(jìn)制):

45 00 00 34 fd 34 40 00 80 11 79 46 c0 a8 63 64 31 07 2f 2a

我們看到Wireshark分析出來的Header Checksum是0x7946,下面我們計算驗證一下。

Step1:根據(jù)IPv4頭部格式,我們知道第11和12個字節(jié)是要填寫的Checksum,先把這兩個字節(jié)都設(shè)置為0,得到

45 00 00 34 fd 34 40 00 80 11 00 00 c0 a8 63 64 31 07 2f 2a

Step2:每兩個字節(jié)組成一個數(shù)字,然后累加

4500 + 0034 + fd34 + 4000 + 8011 + 0000 + c0a8 + 6364 + 3107 + 2f2a =3 86B6

提示:可以把整個算式連同等號粘貼到Windows計算器(程序員模式,HEX方式)能得到結(jié)果。

Step3:把后面兩個字節(jié)組成的數(shù)字86B6 和 進(jìn)位3相加,上面的 3 86B6,分開兩個數(shù)相加就是

3 + 86B6 = 86B9,一般是寫成 86B6 + 3 = 86B9

Step4:取反

~(86B9)=~(1000 0110 1011 1001)=0111 1001 0100 0110=7946?(十六進(jìn)制?。?/p>

所以得到Checksum是0x7946?是對的。

上面是發(fā)送端計算出checksum的過程。

下面是接收端校驗的過程:

接收到得到數(shù)據(jù):45 00 00 34 fd 34 40 00 80 11 79 46 c0 a8 63 64 31 07 2f 2a

同樣也是先把checksum兩個字節(jié)先忽略(當(dāng)0000),然后每兩個字節(jié)組成一個數(shù),累加:

4500 + 0034 + fd34 + 4000 + 8011 + 0000 + c0a8 + 6364 + 3107 + 2f2a =3 86B6

進(jìn)位數(shù)加到低位,再變成 3 + 86B6 = 86B9

注:上面幾個步驟跟發(fā)送端是一樣的。

然后再加上checksum這個數(shù):86B9+7946=FFFF

取反:~(FFFF)= 0000

結(jié)果是0000就證明沒錯。

2,解惑時刻

這本書舉例說的補碼、反碼(如下圖),跟我們開始接觸計算機(jī)學(xué)到的補碼、反碼是兩碼事!

ipv4 checksum error,TCP/IP詳解,Windows,MacOS,tcp/ip,網(wǎng)絡(luò),網(wǎng)絡(luò)協(xié)議

或者你可以這么理解,這里說的數(shù)字都是無符號整數(shù),正整數(shù)的補碼就是自己,所以這里說的補碼根本不是什么補碼,就是本身;

這里說的反碼,只是簡單的按位取反!按位取反!(不是以前學(xué)的,正整數(shù)的反碼是自身,不是.)

關(guān)鍵是求和的時候,是每16位(2個字節(jié))組成一個數(shù)字 再累加的!

1E4FF怎么得來的?就是E34F+2396+4427+99F3+0000=1E4FF

接下來為什么?E4FF + 1 不是?E4FF + 2 ?因為剛才算的結(jié)果是1E4FF,進(jìn)位數(shù)是1,如果得到的結(jié)果是9E4FF,那這一步就是?E4FF + 9。(那為什么要這么加呢?這就要搬出阿貝爾群了)

接下來就是取反操作了。

大家可以看下IETF的文檔,里面甚至有C語言示例代碼。

RFC 1071 - Computing the Internet checksum

3,阿貝爾群(Abelian Group)

這里只是順便提一下。阿貝爾群概念相對簡單,就是滿足一般群的4個公理,又滿足交換律公理:

交換性(Commutativity):對于G 中任意兩個元素a,b, 滿足a?b = b?a

這就OK了,阿貝爾群又叫交換群。

對于群的概念,要注意理解的是,中間點"?"運算符雖然被叫為"乘法",實際上,它只是代表一種運算,可以是加法,也可以是乘法,或者減法、位運算

至于上面Checksum背后的數(shù)學(xué)性質(zhì)與阿貝爾群的關(guān)系,書上有解釋,在此不贅述。

書中有句話:對于16位的十六進(jìn)制值 集合V = { 0001, ..., FFFF } 與其反碼和運算 "+"共同形成一個阿貝爾群。

——這句話的說明了,定義" + "為 二進(jìn)制反碼和? 運算,這個很關(guān)鍵。同樣,這里的反碼是按位取反的意思。

——書上說:對于V中的任何X,e + X = X + e = X,其中 e = FFFF。為什么呢?這里面有一步很關(guān)鍵的操作就是,進(jìn)位數(shù)要加到低位去,舉個栗子(都是十六進(jìn)制數(shù)為例):FFFF + 0001 = 10000,進(jìn)位為1,加到0000,結(jié)果就是0001,這才滿足e + X = X? (e = FFFF),不然你打死都不明白。

——這里吐槽一下書上把group翻譯為組是不對的,正確的是“群”。文章來源地址http://www.zghlxwxcb.cn/news/detail-756575.html

到了這里,關(guān)于《TCP/IP詳解 卷一:協(xié)議》第5章的IPv4數(shù)據(jù)報的Checksum(校驗和)字段的計算(這里才能解開你的困惑)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【軟考網(wǎng)絡(luò)管理員】2023年軟考網(wǎng)管初級常見知識考點(10)- 網(wǎng)際協(xié)議IP及IPV6,IPV4詳解

    【軟考網(wǎng)絡(luò)管理員】2023年軟考網(wǎng)管初級常見知識考點(10)- 網(wǎng)際協(xié)議IP及IPV6,IPV4詳解

    分類的IP地址,子網(wǎng)劃分,CIDR和路由匯聚,IPV4數(shù)據(jù)報格式,IPV6協(xié)議,軟考網(wǎng)絡(luò)管理員??贾R點,軟考網(wǎng)絡(luò)管理員網(wǎng)絡(luò)安全,網(wǎng)絡(luò)管理員考點匯總。 原創(chuàng)于:CSDN博主-《拄杖盲學(xué)輕聲碼》,更多考點匯總可以去他主頁查看 更多考試總結(jié)可關(guān)注CSDN博主-《拄杖盲學(xué)輕聲碼》 這

    2024年02月11日
    瀏覽(65)
  • IP 協(xié)議報文格式 【IPv4】

    IP 協(xié)議報文格式 【IPv4】

    前言: IP 數(shù)據(jù)報文由首部(稱為報頭)和數(shù)據(jù)兩部分組成;首部的前一部分是固定長度,共 20 字節(jié),是所有 IP 數(shù)據(jù)報必須具有的;在首部的固定部分的后面是一些可選字段,其長度是可變的 每個 IP 數(shù)據(jù)報都以一個 IP 報頭開始;源計算機(jī)構(gòu)造這個 IP 報頭,而目的計算機(jī)利用

    2024年02月07日
    瀏覽(26)
  • IP 報文格式詳解(IPv4、IPv6)

    IP 報文格式詳解(IPv4、IPv6)

    中文名 英文名 長度 bit(位) 解釋 版本 Version 4 IP 協(xié)議版本號,固定為 4 首部長度 Internet Header Length, IHL 4 以 4 字節(jié) 為單位,最小值 5(20Byte) ,最大值 15(60Byte) 服務(wù)類型 Type of Service, TOS 8 幾乎不用 總長度 Total Length 16 整個數(shù)據(jù)報的長度, 2 16 ? 1 = 65535 2^{16} -1 = 65535

    2024年02月10日
    瀏覽(30)
  • 《TCP/IP詳解 卷一》第1章 概述

    目錄 1.1 體系結(jié)構(gòu)原則 1.2 設(shè)計和實現(xiàn) 1.3 TCP/IP協(xié)議族結(jié)構(gòu)和協(xié)議 1.4 Internet、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng) 1.5 設(shè)計應(yīng)用 1.6 標(biāo)準(zhǔn)化進(jìn)程 1.7 實現(xiàn)和軟件分發(fā) 1.8 Internet攻擊 1.9 總結(jié) TCP/IP來源于ARPANET TCP/IP免費 不保留消息邊界會粘包造成,如TCP。 解決方法: ????????標(biāo)記消息長度 ?????

    2024年02月22日
    瀏覽(20)
  • 配置linux net.ipv4.ip_forward數(shù)據(jù)包轉(zhuǎn)發(fā)

    出于系統(tǒng)安全考慮,在默認(rèn)情況下,Linux系統(tǒng)是禁止數(shù)據(jù)包轉(zhuǎn)發(fā)的。數(shù)據(jù)包轉(zhuǎn)發(fā)指的是當(dāng)主機(jī)擁有多個網(wǎng)卡時,通過一個網(wǎng)卡接收到的數(shù)據(jù)包,根據(jù)目的IP地址來轉(zhuǎn)發(fā)數(shù)據(jù)包到其他網(wǎng)卡。這個功能通常用于路由器。 如果在Linux系統(tǒng)中需要開啟路由轉(zhuǎn)發(fā)功能,必須要配置一個內(nèi)核

    2024年02月11日
    瀏覽(25)
  • 網(wǎng)絡(luò)層之IP數(shù)據(jù)報格式、數(shù)據(jù)報分片、IPv4、子網(wǎng)劃分和子網(wǎng)掩碼

    網(wǎng)絡(luò)層之IP數(shù)據(jù)報格式、數(shù)據(jù)報分片、IPv4、子網(wǎng)劃分和子網(wǎng)掩碼

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識點… 一個人摸索學(xué)習(xí)很難堅持,想組團(tuán)高效學(xué)習(xí)… 想寫博客但無從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月05日
    瀏覽(21)
  • IPv4,IPv6,TCP,路由

    IPv4,IPv6,TCP,路由

    ip : 網(wǎng)際協(xié)議,IP協(xié)議能讓世界上任意兩臺計算機(jī)之間進(jìn)行通信。 IP協(xié)議的三大功能: 尋址和路由 傳遞服務(wù):不可靠(盡最大努力交付傳輸數(shù)據(jù)包),可靠性由上層協(xié)議提供;無連接 數(shù)據(jù)包分片重組 OSI七層架構(gòu)(理論) 和 TCP/IP的4層架構(gòu)(實現(xiàn)) IP的主要作用是在復(fù)雜的網(wǎng)絡(luò)

    2024年02月11日
    瀏覽(32)
  • 【計算機(jī)網(wǎng)絡(luò)筆記】Internet網(wǎng)絡(luò)的網(wǎng)絡(luò)層——IP協(xié)議之IP數(shù)據(jù)報的結(jié)構(gòu)

    【計算機(jī)網(wǎng)絡(luò)筆記】Internet網(wǎng)絡(luò)的網(wǎng)絡(luò)層——IP協(xié)議之IP數(shù)據(jù)報的結(jié)構(gòu)

    什么是計算機(jī)網(wǎng)絡(luò)? 什么是網(wǎng)絡(luò)協(xié)議? 計算機(jī)網(wǎng)絡(luò)的結(jié)構(gòu) 數(shù)據(jù)交換之電路交換 數(shù)據(jù)交換之報文交換和分組交換 分組交換 vs 電路交換 計算機(jī)網(wǎng)絡(luò)性能(1)——速率、帶寬、延遲 計算機(jī)網(wǎng)絡(luò)性能(2)——時延帶寬積、丟包率、吞吐量/率 計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)概念 OSI參考模型

    2024年02月05日
    瀏覽(31)
  • 解析 IP(IPv4)地址

    解析 IP(IPv4)地址

    為了保證正常通信,有必要為每個設(shè)備配置正確的 IP 地址。在互聯(lián)網(wǎng)通信中,全世界都必須設(shè)定正確的IP地址。否則,根本無法實現(xiàn)正常的通信。而在用 TCP/IP 進(jìn)行通信時,需要用 IP 地址識別主機(jī)和路由器。 IPv4 地址在計算機(jī)中是由如下這樣構(gòu)成的 四組二進(jìn)制數(shù) 每組八位二

    2024年04月28日
    瀏覽(28)
  • 驗證IP地址IPv4和IPv6

    編寫一個函數(shù)來驗證輸入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十進(jìn)制數(shù)和點來表示,每個地址包含4個十進(jìn)制數(shù),其范圍為 0 - 255, 用(\\\".\\\")分割。比如,172.16.254.1; 同時,IPv4 地址內(nèi)的數(shù)不會以 0 開頭。比如,地址 172.16.254.01 是不合法的。 IPv6 地址由8組16進(jìn)制的數(shù)

    2024年02月10日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包