TCP/IP協議棧部分系列4: IP層IP封包中TTL值何時修改
題記:本系列文章的目的是拋開書本從原始碼和使用的角度分析Linux核心和相關原始碼,byhankswang和你一起玩轉linux開發
輕鬆搞定TCP/IP協議棧,原創文章歡迎交流, [email protected]
歡迎加入到CHLK - Linux開發交流群 QQ:327084515 討論Linux開發相關問題
IP層IP封包中TTL值何時修改
IP包頭中TTL值每過一次中間裝置就會被減1,當TTL值為0的時候在網路中會被丟棄。在Linux 核心中是如何操作的?
1.對TTL值做減法的函式
static inline
int ip_decrease_ttl(struct iphdr *iph)
{
/* 重新計算IP包頭的校驗和 */
u32 check = (__force u32)iph->check;
check += (__force u32)htons(0x0100);
iph->check = (__force __sum16)(check + (check>=0xFFFF));
/* TTL值在轉發前被減1 */
return --iph->ttl;
}
補充說明的是IP首部校驗和:
協議棧在傳送資料時,校驗和計算:
(1)把IP資料報的首部都置為0,包括校驗和欄位。
(2)把首部看成以16位為單位的數字組成,依次進行二進位制反碼求和。
(3)把得到的結果存入校驗和欄位中。
協議棧在接收資料時,校驗和計算:
(1)把首部看成以16位為單位的數字組成,依次進行二進位制反碼求和,包括校驗和欄位。
(2)檢查計算出的校驗和的結果是否等於零。
(3)如果等於零,說明被整除,校驗是和正確。否則,校驗和就是錯誤的,協議棧要拋棄這個資料包。
2.何時呼叫ip_decrease_ttl
在TCP/IP協議棧中當中間裝置收到需要轉發包的時候,由ip_forward函式呼叫ip_ttl_decrease
相關推薦
TCP/IP協議棧部分系列4: IP層IP封包中TTL值何時修改
題記:本系列文章的目的是拋開書本從原始碼和使用的角度分析Linux核心和相關原始碼,byhankswang和你一起玩轉linux開發 輕鬆搞定TCP/IP協議棧,原創文章歡迎交流, [email protected] 歡迎加入到CHLK - Linux開
OSI 7層模型與TCP/IP協議棧4層模型
OSI 7層模型是指開放系統互連參考模型(Open System InterConnect),是為了實現開放系統互連所建立的通訊功能模型。 OSI 7層模型 第7層:應用層(Application Layer)---提供為應用程式而設的介面,來與另一個應用程式之間進行通訊。
TCP/IP協議棧模型
路由 會話管理 add 網絡設備 源地址 解密 發的 傳輸協議 認證 OSI七層模型介紹: 下面4層(物理層、數據鏈路層、網絡層和傳輸層)主要提供數據傳輸和交換功能,即以節點到節點之間的通信為主;第4層作為上下兩部分的橋梁,是整個網絡體系結構中最關鍵的部分;而上3層(會話
TCP/IP協議棧
ip tcp TCP/IP協議棧全稱是傳輸控制協議/因特網互聯協議,其實是OSI模型的進化版,所以就先解釋一下什麽是OSI模型,OSI的全稱是開放系統互連參考模型,就是為了實現開放系統互連所建立的通信功能分層模型,其目的就是為異種計算機互連提供一個共同的基礎和標準框架,並為保持相關標準的一致性和兼
做運維需要了解的網絡知識,TCP/IP協議棧
tcp/ip協議棧的基本介紹TCP/IP協議棧:TCP/IP的分層:圖中看的很清楚,在TCP/IP協議棧中,最重要的協議就是傳輸層的TCP協議與UDP協議,而網絡層最重要的是IP協議,下面就做一下簡單的介紹。TCP協議:TCP協議是一種工作在傳輸層,全雙工(雙向傳輸),半關閉,擁有錯誤檢查,確認機制,和數據恢
002::每天五分鐘入門TCP/IP協議棧::IP協議之IP首部長度問題
IP 首部 首部長度 事出反常必有妖,邪乎到家必有鬼。 整個TCP/IP協議中,IP協議是最核心的協議。 IP協議是不可靠的、無連接的服務。 何為不可靠?不能保證IP數據報能夠成功到達目的地,傳輸的可靠×××給傳輸層或應用層去實現。 何為無連接?IP並不維護任何關於後續數據報的狀態信息。 進入正題
003::每天五分鐘入門TCP/IP協議棧::IP協議之TOS字段說明
IP首部 ToS服務類型 從IP首部看ToS的位置:ToS即為服務類型,只有當網絡設備能夠支持(能夠識別IP首部中的ToS字段)識別ToS字段時,這給字段設置才有意義。否則都是空談。 先說具體字段的意義:Tos字段長度為8bit前3bit字段:為優選權子字段,現在已經廢棄,這個字段默認值是000,從w
TCP/IP協議棧基礎知識
協議 fin 存儲 無數據 可靠 技術分享 事物 ip協議 同步 設計思想 把一個復雜的事物進行分層劃分,使得每個部分變得相對簡單 分層模型 OSI分為7層模型 tcp/ip分為四層模型 應用層(Application) 傳輸層(T
004::每天五分鐘入門TCP/IP協議棧::IP協議之16位總長度字段引出的MTU值問題
IP首部 MTU 數據封裝 要理解MTU以及實際生產環境中的MTU問題,就得搞清楚三個問題:IP數據報包含什麽內容;數據進入協議棧的封裝過程;MTU具體代表含義; 首先要理解一個過程:數據進入協議棧的封裝過程!數據從發送主機發送出去之前,在主機的協議棧中會經歷上述圖中的幾個封裝過程。本次以TCP
-1-7 java 網絡編程基本知識點 計算機網絡 TCP/IP協議棧 通信必備 tcp udp
kit 外部 block 識別 ESS net 常見 主機 通訊 計算機網絡 是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來, 在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。 網絡編程
網絡基礎之OSI模型及TCP/IP協議棧
ack 二進制 能夠 系統 http 數據表 滑動 鏈路 ext OSI參考模型 開放系統互連參考模型為實現開放系統互連所建立的通信功能分層模型。其目的是為異種計算機互連提供一個共同的基礎和標準框架,並為保持相關標準的一致性和兼容性提供共同的參考。這裏所說的開放系統
Linux 從網卡到TCP IP協議棧數據流跟蹤與審計
軟中斷 sys load 一個 註冊 linux rst 是否 ring 前沿 在學代碼審計,然後最近做Linux協議棧的審計,發現Linux不愧是一個久經考驗的系統,本來以為可以找到個DoS的,結果發現其在TCP/IP協議棧的鏈路層實現,利用了各種技術,用來提高性能與安全
TCP/IP協議棧在wireshark的抓包
OSI模型對應的TCP/IP協議棧 注:osi模型是個理論框架,而TCP/IP協議棧是一個事實標準,所以我主要學的是TCP/IP協議棧 1)應用層: 作用:為使用者體統軟體介面 軟體: 即時通訊軟體 =》 微信、QQ 購物軟體 = 》 天貓、京東 音影類:pp
5.CCNA第五天-TCP/IP協議棧的網際網路層
TCP/IP協議棧的網際網路層 IP internet prootocol 網際網路協議 工作在網路層 為網路層提供邏輯地址服務 MAC地址,僅僅能夠在同一廣播域內,為主機提供資料轉發服務 IP地址: 實現跨越廣播域的資料轉發
5.CCNA第五天-TCP/IP協議棧的互聯網層
規則 協議棧 intern 情況下 第五天 沒有 時間 互聯 情況 TCP/IP協議棧的互聯網層 IP internet prootocol 互聯網協議工作在網絡層為網絡層提供邏輯地址服務MAC地址,僅僅能夠在同一廣播域內,為主機提供數據轉發服務IP地址:實現跨越廣播域的
TCP/IP 協議棧 概述
TCP/IP 協議棧是一系列網路協議的總和,是構成網路通訊的核心骨架,它定義了電子裝置如何連入因特網,以及資料如何在它們之間進行傳輸。TCP/IP 協議採用4層結構,分別是應用層、傳輸層、網路層和鏈路層,每一層都呼叫它的下一層所提供的協議來完成自己的需求。由於我們大部分時間都
ZCU106開發詳解之PS側開源TCP/IP協議棧UDP回顯程式(高階外設,大神之路)
感謝大家的等待!! 本週將四連發,我們團隊也將盡自己能力為大家答疑解惑!!! 如果有朋友想了解更多相關資訊請加QQ群836535064。我們會將相關資料釋出於QQ群中。 歡迎有需求的朋友深度合作。本團隊專注於高速視訊編解碼,高速訊號採集處理,高速異構平臺,高速儲存方案提
使用java自造TCP/IP協議棧:使用JPCAP實現資料發包
從本節開始,我們打算使用java把tcp/ip網路協議棧重新實現一遍。這是一個不小的野心,自然也是一個不小的工程,好在前面順利完成了作業系統,編譯器兩門課程的實現,這給了我極大的信心。整個網際網路系統分為三大支柱,分別是作業系統,編譯器,和網路協議,我們完成了前面三者,還剩第三者一直孤懸
OSI參考模型、TCP/IP協議棧、IP地址
網線傳遞電訊號,電訊號通過不同的編碼可以表示出兩種不同的變化:1和0。 訊號衰弱和訊號失真導致傳輸距離被限制。 每一種乙太網型別都有最大的傳輸距離。 HUB解決了多人傳輸的問題,用HUB解決多人傳輸的問題時頻寬是共享的。 Carrier Se
雜談——TCP/IP 協議棧詳解
說到協議棧,我們就先來看看它的定義是什麼。 TCP/IP 協議棧是一系列網路協議的總和,是構成網路通訊的核心骨架,它定義了電子裝置如何連入因特網,以及資料如何在它們之間進行傳輸。 本帥博主之前寫過一篇關於OSI模型的部落格,OSI模型採用