IP 協(xié)議采用統(tǒng)一的校驗算法,其計算比較簡單:設(shè)校驗和初值為0,然后對數(shù)據(jù)每16位求異或,結(jié)果取反,便得校驗和。校驗時將數(shù)據(jù)(含校驗和)按同樣的算法求和,結(jié)果為0則數(shù)據(jù)正確,不為0表示通訊出錯,需要丟棄該數(shù)據(jù)包。這樣能簡化校驗程序設(shè)計,提高TCP/IP協(xié)議的效率。
應(yīng)廣大讀者的要求給出作者通用的IP校驗程序:
typedef unsigned int __u16; typedef unsigned long __u32; __u16 checksum(__u16 xdata *dp, __u16 length) { __u32 sum = 0; __u16 len = length >> 1; while(len-- > 0) sum += *dp++; if(length & 1) sum += (*dp & 0xFF00); sum = (sum >> 16) + (sum & 0xFFFF); sum += (sum >> 16); len = sum & 0xFFFF; return(~len); }
所有TCP/IP協(xié)議的校驗和計算和數(shù)據(jù)包的校驗均由上面的子程序完成。不過需要注意的是TCP和UDP的校驗需要加上偽頭標,不然得不到正確的結(jié)果,偽頭標違背了協(xié)議的分層原則,但這種違背是出于實際需要的,也正體現(xiàn)了TCP/IP協(xié)議設(shè)計的靈活性。
摘 要:基于TCP/IP協(xié)議和433 MHz射頻無線通信技術(shù),設(shè)計了一種用戶遠程家電控制系統(tǒng)。該系統(tǒng)選用 STM32F103VCT6單片機作為核心控制芯片,采用DM9000AEP網(wǎng)絡(luò)接口芯片(以太網(wǎng)控制器)實現(xiàn)單片機與互...
關(guān)鍵字: TCP/IP協(xié)議 遠程控制 智能家居控制系統(tǒng) STM32F103VCT6摘要:介紹嵌入式TCP/IP協(xié)議在低速處理器中的一種簡化實現(xiàn)方案,并成功應(yīng)用于某分布式監(jiān)控系統(tǒng)中。 關(guān)鍵詞:TCP/IP協(xié)議 嵌入式 ARM 在網(wǎng)絡(luò)應(yīng)用日益普遍的今天,越來越多的
關(guān)鍵字: ARM 嵌入式 TCP/IP協(xié)議 TCP協(xié)議摘要:介紹了嵌入式TCP/IP協(xié)議單片機在網(wǎng)絡(luò)通信中的數(shù)據(jù)傳輸技術(shù)。將TCP/IP協(xié)議嵌入式單片機中,借助網(wǎng)卡芯片CS8900實現(xiàn)了單片機在局域網(wǎng)內(nèi)和通過局域網(wǎng)在因特網(wǎng)上的數(shù)據(jù)傳輸。用戶終端以單片機系統(tǒng)板為媒介,通過網(wǎng)
關(guān)鍵字: 網(wǎng)絡(luò)通信 嵌入式 單片機技術(shù) TCP/IP協(xié)議目前門禁系統(tǒng)的安全性則受到越來越多的關(guān)注,尤其是一些國家機要部門、保密部門對門禁系統(tǒng)數(shù)據(jù)的安全性要求就更高。對比傳統(tǒng)的基于485總線組網(wǎng)的門禁系統(tǒng),IP網(wǎng)絡(luò)門禁的優(yōu)點主要體現(xiàn)在:(1)大大提高系統(tǒng)響應(yīng)速度,對
關(guān)鍵字: 組網(wǎng) 門禁系統(tǒng) IP網(wǎng)絡(luò) TCP/IP協(xié)議