卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

ip地址二進(jìn)制轉(zhuǎn)換 二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?

二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?算法實(shí)現(xiàn):unsigned short IPuuucsum(unsigned char*iph,unsigned int ihl){unsigned int sumuuuu

二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?

算法實(shí)現(xiàn):unsigned short IPuuucsum(unsigned char*iph,unsigned int ihl){unsigned int sumuuuuuuuasmuuuuuuuuuuuvolatileuuu1(“movl(%1),%0n”subl,%2n”jbe 2fn”addl 4(%1),%0n”adcl 8(%1),%0n”adcl 12(%1),%0n”1:adcl 16(%1),%0n“”lea 4(%1),%1n“”decl%2n“”jne 1bn“”adcl,%0n“”movl%0,%2n“”Shrl,%0n“”addw%W2,%w0n“”adcl,%0n“”Notl%0n“”2:n“:”=R”(總和),”=R”(IPH),”=R”(IHL):“1”(IPH),“2”(IHL):“memory”)return(sum)}擴(kuò)展數(shù)據(jù)二進(jìn)制逆碼求和的工作原理:0和0的和為0,但要產(chǎn)生進(jìn)位1,0和1的和為1,1和1的和為0。如果進(jìn)位是在最高位相加后產(chǎn)生的,則最終結(jié)果將被加1。(0)inverse(0)inverse=1 1=10(1)inverse(0)inverse=0 1=1(1)inverse(1)inverse=0 0=0

報(bào)頭校驗(yàn)和字段是根據(jù)IP報(bào)頭計(jì)算的校驗(yàn)和代碼。它不計(jì)算標(biāo)題后面的數(shù)據(jù)。Icpmp、IGMP、UDP和TCP都在各自的報(bào)頭中包含同時(shí)覆蓋報(bào)頭和數(shù)據(jù)校驗(yàn)和碼。為了計(jì)算數(shù)據(jù)報(bào)的IP校驗(yàn)和,首先將校驗(yàn)和字段設(shè)置為0。然后用二進(jìn)制反碼對報(bào)頭中的每個(gè)16位進(jìn)行求和(整個(gè)報(bào)頭被視為一個(gè)16位字的字符串),結(jié)果存在于check sum字段中。當(dāng)接收到IP數(shù)據(jù)報(bào)時(shí),還對報(bào)頭中的每16位執(zhí)行二進(jìn)制計(jì)數(shù)器和。因?yàn)榘l(fā)送方報(bào)頭的校驗(yàn)和包含在接收方的計(jì)算過程中,如果報(bào)頭的傳輸過程中沒有錯(cuò)誤,那么接收方的計(jì)算結(jié)果應(yīng)該都是1。如果錯(cuò)誤不是全部1(即check和error),那么IP丟棄接收到的數(shù)據(jù)包。但是沒有生成錯(cuò)誤消息,上層找到丟失的數(shù)據(jù)報(bào)并重新傳輸。ICMP、IGMP、UDP和TCP都采用相同的校驗(yàn)和算法,盡管TCP和UDP在IP報(bào)頭中除了各自的報(bào)頭和數(shù)據(jù)外還包含不同的字段。在rfc1071中,有一種關(guān)于如何計(jì)算Internet校驗(yàn)和的實(shí)現(xiàn)技術(shù)。因?yàn)槁酚善魍ǔV恍薷腡TL字段(減1),所以當(dāng)路由器轉(zhuǎn)發(fā)一條消息時(shí),它可以添加它的校驗(yàn)和,而無需重新計(jì)算整個(gè)IP報(bào)頭。Rfc1141為此提供了一種非常有效的方法。