關於ip報文校驗和一些思考

2021-07-10 01:49:01 字數 530 閱讀 3879

首部檢驗和字段是根據ip首部計算的檢驗和碼。它不對首部後面的資料進行計算

為了計算乙份資料報的ip檢驗和,首先需要把檢驗和字段置為0

對首部中每個16bit進行二進位制反碼求和(整個首部看成是由一串16bit的字組成)

收到乙份ip資料報後,同樣對首部中每個16bit進行二進位制反碼求和。

由於接收方在計算中包含了傳送方存在首部中的校驗和,所以首部在傳輸過程中沒有發生錯誤的話,那麼計算結果將全為1

如果結果不全為1,那麼則說明檢驗和錯誤

路由器收到ip報文,然後**之後,是需要對ttl(time to live)欄位減一,那麼這樣的話ip報文校驗和數值也需要進行相應改變

由前面ip報文校驗和的計算方式可以知道,ttl減一,那麼為了保證最後校驗結果依然正確,所以只需要對校驗和加1即可

icmp/udp/tcp都採用和ip校驗和相同的檢驗和演算法,雖然tcp和udp除了本身的首部之外,還會使用ip頭部欄位的源位址和目標位址

關於SpringIOC的一些思考

ioc是 依賴倒置原則 的乙個特例,說其是特例,就是說其具有 依賴倒置原則 的性質。依賴倒置原則強調的兩點是 上層模組和下次模組都依賴於抽象,二者之間通過這種抽象的東西聯絡在一起 具體可以依賴於抽象,而抽象不能依賴於具體。我認為spring提倡的 基於介面程式設計 就是為了遵循 依賴倒置原則 其中所...

關於sizeof 的一些思考

今天面試被問到sizeof,回來整理一下。1 定義 sizeof是c c 中的乙個操作符 operator 作用就是返回乙個物件或者型別所佔的記憶體位元組數。msdn上的解釋為 the sizeof keyword gives the amount of storage,in bytes,assoc...

關於介面的一些思考

下面示例是模擬遊戲 憤怒的小鳥 的實現。叫的方式的介面 public inte ce shouttype 嗷嗷叫 public class aoshout implements shouttype 喳喳叫 public class zhashout implements shouttype 鳥的抽象...