LWIP學習筆記3 IP協議

2021-10-03 13:44:01 字數 1686 閱讀 7131

ip 協議是一種無連線的不可靠資料報交付協議,協議本身不提供任何的錯誤檢查與恢復機制。它是整個tcp/ip 協議棧的核心協議,上層協議都要依賴 ip 協議提供的服務, ip 協議負責將資料報從源主機傳送到目標主機,通過 ip 位址作為唯一識別碼。

127 網段的所有位址都稱為環迴位址,主要用來測試網路協議是否工作正常的作用。比如在電腦中使用 ping 命令去 ping 127.1.1.1 就可以測試本地 tcp/ip 協議是否正常。

本網路本主機:

ip 位址 32bit 全為 0 的位址(0.0.0.0)表示的是本網路本主機, 這個 ip 位址在 ip 資料報中只能用作源 ip 位址,這發生在當裝置啟動時但又不知道自己的 ip 位址情況下。在使用 dhcp 分配 ip 位址的網路環境中,這樣的位址是很常見的, 主機為了獲得乙個可用的ip 位址,就給 dhcp 伺服器傳送 ip 資料報,並用這樣的位址(0.0.0.0) 作為源位址,目的位址為 255.255.255.255(因為主機這時還不知道 dhcp 伺服器的 ip 位址) ,然後 dhcp伺服器就會知道這個主機暫時沒有 ip 位址,那麼就會分配乙個 ip 給這個主機。

整個 ip 資料報的理論最大長度為 65535 位元組然而,資料報很少有超過 1500 位元組的,這是因為底層鏈路硬體不允許那麼大的資料報出現在鏈路上,乙太網資料幀的最大長度為 1500 個位元組,當有乙個很大的 ip 資料報出現的時候,就需要進行分片處理;而如果 ip 資料報的資料很少的時候,比如少於 46 個位元組,那麼在乙太網進行傳送資料的時候會填充一定的位元組以滿足乙太網幀最小度,那麼在接收方就要根據這個欄位的內容進行提取有效資料。

分片處理是將 ip 資料報中的資料分片成兩個或更多個較小的 ip 資料報,用單獨的鏈路層幀封裝這些較小的 ip 資料報;然後向輸出鏈路上傳送這些幀, 每個這些較小的資料報都稱為分片,由於 ip 資料報的分片偏移量是用 8 的整數倍記錄的,所以每個資料報中的分片資料大小也必須是 8 的整數倍。每個資料分片到達目標 ip 位址的主機時間是不一樣的。

在傳送主機中,它會把需要分片的資料進行切割(分片) ,按照資料的偏移量進行切割,切割後形成的每個 ip 資料報(即分片)具有與初始 ip 資料報幾乎一樣的 ip 資料報首部,為什麼說是幾乎一樣而不是全部一樣呢,因為 ip 資料報首部的標誌、分片偏移量這兩個欄位與分片有關,不同的分片,這些資訊可能不一樣,不同的分片資料報長度也是不一樣的,校驗和字段也是不一樣的。 但是源 ip 位址、目標 ip 位址與標識號肯定是一樣的,每個分片上的分片偏移量欄位是不一樣的。

ip 是一種不可靠的服務,乙個或多個分片可能永遠到達不了目的地。因為這種原因,為了讓目標主機相信它已經收到了初始 ip 資料報的最後乙個分片,其最後乙個分片上的標誌字段(最後一位)被設定為 0。 而所有其他分片的標誌被設為 1。另外,為了讓目的主機確定是否丟失了乙個分片(且能按正確的順序重新組裝分片),使用偏移字段指定該分片應放在初始 ip 資料報的哪個位置。

tcpip詳解筆記 3 IP網際協議

1.ip是tcp ip中最為核心的協議,所有的tcp udp icmp等協議均以ip資料報的格式傳輸。ip協議提供不可靠 無連線的服務,它不保證資料報一定可以送達目的,也不保證資料報的先後次序。2.ip首部 注 網路位元組序 32bit傳輸的次序為0 7bit,8 15bit,16 23bit,24...

3 ip路由基礎

相信大家平時上網的時候都會用到乙個路由器,通過連線路由器的網路介面上網,那麼大家有沒有想過路由器為什麼能上網?簡單來說,路由器是乙個上網用到的裝置,也是組成網路的重要裝置。路由器作為乙個三層裝置,其主要工作是負責路由定址和 資料。前面說過,路由器 資料會選擇一條最佳路徑,然後把資料 到下一跳,那麼路...

專案3 IP位址類

問題及 檔名稱 test.cpp 作 者 李一波 完成日期 2016年4月11號 版 本 號 v1.0 問題描述 在網際網路中使用的ip位址佔4個位元組,可以用四段發表示,每段值的範圍是0 255,中間用 隔開,例如202.194.116.97。其實也可以看看乙個有4位元組的無符號整型值340174...