計算UDP檢驗和的例予
發(fā)布時間:2014/9/5 20:41:52 訪問次數(shù):2330
UDP計算檢驗和的方法和計算IP數(shù)據(jù)報首部檢驗和的方法相似。但不同的是:IP數(shù)據(jù)報的檢驗和只檢驗IP數(shù)據(jù)報的首部,但UDP的檢驗和是把首部和數(shù)據(jù)部分一起都檢驗。 OPA4342在發(fā)送方,首先是先把全零放入檢驗和字段。再把偽首部以及UDP用戶數(shù)據(jù)報看成是由許多16位的字串接起來。若UDP用戶數(shù)據(jù)報的數(shù)據(jù)部分不是偶數(shù)個字節(jié),則要填入一個全零字節(jié)(但此字節(jié)不發(fā)送)。然后按二進制反碼計算出這些16位字的和。將此和的二進制反碼寫入檢驗和字段后,就發(fā)送這樣的UDP用戶數(shù)據(jù)報。在接收方,把收到的UDP用戶數(shù)據(jù)報連同偽首部(以及可能的填充全零字節(jié))一起,按二進制反碼求這些16位字的和。當無差錯時其結果應為全1。否則就表明有差錯出現(xiàn),接收方就應丟棄這個UDP用戶數(shù)據(jù)報(也可
以上交給應用層,但附上出現(xiàn)了差錯的警告)。圖5-7給出了一個計算UDP檢驗和的例子。
這里假定用戶數(shù)據(jù)報的長度是15字節(jié),因此要添加一個全0的字節(jié)。讀者可以自己檢驗一下在接收端是怎樣對檢驗和進行檢驗的。不難看出,這種簡單的差錯檢驗方法的檢錯能力并不強,但它的好處是簡單,處理起來較快。
如圖5-5所示,偽首部的第3字段是全零;第4個字段是IP首部中的協(xié)議字段的值,以前已講過,對于UDP,此協(xié)議字段值為17:第5字段是UDP用戶數(shù)據(jù)報的長度。因此,遮樣的檢驗和,既檢查了UDP用戶數(shù)據(jù)報的源端口號和目的端口號以及UDP用戶數(shù)據(jù)報的數(shù)據(jù)部分,又檢查了IP數(shù)據(jù)報的源IP地址和目的地址。
UDP計算檢驗和的方法和計算IP數(shù)據(jù)報首部檢驗和的方法相似。但不同的是:IP數(shù)據(jù)報的檢驗和只檢驗IP數(shù)據(jù)報的首部,但UDP的檢驗和是把首部和數(shù)據(jù)部分一起都檢驗。 OPA4342在發(fā)送方,首先是先把全零放入檢驗和字段。再把偽首部以及UDP用戶數(shù)據(jù)報看成是由許多16位的字串接起來。若UDP用戶數(shù)據(jù)報的數(shù)據(jù)部分不是偶數(shù)個字節(jié),則要填入一個全零字節(jié)(但此字節(jié)不發(fā)送)。然后按二進制反碼計算出這些16位字的和。將此和的二進制反碼寫入檢驗和字段后,就發(fā)送這樣的UDP用戶數(shù)據(jù)報。在接收方,把收到的UDP用戶數(shù)據(jù)報連同偽首部(以及可能的填充全零字節(jié))一起,按二進制反碼求這些16位字的和。當無差錯時其結果應為全1。否則就表明有差錯出現(xiàn),接收方就應丟棄這個UDP用戶數(shù)據(jù)報(也可
以上交給應用層,但附上出現(xiàn)了差錯的警告)。圖5-7給出了一個計算UDP檢驗和的例子。
這里假定用戶數(shù)據(jù)報的長度是15字節(jié),因此要添加一個全0的字節(jié)。讀者可以自己檢驗一下在接收端是怎樣對檢驗和進行檢驗的。不難看出,這種簡單的差錯檢驗方法的檢錯能力并不強,但它的好處是簡單,處理起來較快。
如圖5-5所示,偽首部的第3字段是全零;第4個字段是IP首部中的協(xié)議字段的值,以前已講過,對于UDP,此協(xié)議字段值為17:第5字段是UDP用戶數(shù)據(jù)報的長度。因此,遮樣的檢驗和,既檢查了UDP用戶數(shù)據(jù)報的源端口號和目的端口號以及UDP用戶數(shù)據(jù)報的數(shù)據(jù)部分,又檢查了IP數(shù)據(jù)報的源IP地址和目的地址。
上一篇:UDP的首部格式
上一篇:傳輸控制協(xié)議TCP概述