Linux 網路協議棧開發程式碼分析篇之VLAN(三)—— VLAN收發處理
相關推薦
Linux 網路協議棧開發程式碼分析篇之VLAN(三)—— VLAN收發處理
以一個例子來說明,當主機收到報文,交由vlan協議模組處理後(vlan_rcv),此時需要更換skb->dev所指向的裝置,以使上層協議認為報文是來自於虛擬網絡卡(比如eth1.1),而不知道網絡卡eth1的存在。更換裝置就需要知道skb->dev更換的目標。這由兩個因素決定:sk
Linux 網路協議棧開發番外篇(六)—— Windows路由表詳解
一、檢視Windows路由表 路由表是Windows的TCP/IP協議棧的一個重要的部分。但是,路由表不是Windows作業系統向普通使用者顯示的東西。如果你要看到這個路由表,你必須要開啟一個命令提示符對話方塊,然後輸入“ROUTE PRINT”命令。結果如下: 路由
Linux 網路協議棧開發基礎篇(十二)—— 使用wireshark分析TCP/IP協議中TCP包頭的格式
摘要: 本文簡單介紹了TCP面向連線理論知識,詳細講述了TCP報文各個欄位含義,並從Wireshark俘獲分組中選取TCP連線建立相關報文段進行分析。 一、概述 TCP是面向連線的可靠傳輸協議,兩個程序互發資料之前需要建立連線,這裡的連線只不過是端系統中分配的一些快
Linux 網路協議棧開發(一)—— 網路協議棧核心分析
1.1 傳送端 1.1.1 應用層 (1) Socket 應用層的各種網路應用程式基本上都是通過 Linux Socket 程式設計介面來和核心空間的網路協議棧通訊的。Linux Socket 是從 BSD Socket 發展而來的,它是 Linux 作業系統的重要組成部分之一,它是網路應用程式
Linux 網路協議棧開發基礎篇(九)—— VID與PVID
一、PVID的作用及和VID的區別 PVID和VID經常出現於二、三層交換機裡,由於PVID和VID的設定不合理,造成VLAN劃分變得混亂。 PVID是交換機上的概念,說的是進入該埠的報文如果沒有打vlan id就按PVID的值打上,VID是報文
Linux 網路協議棧開發(六)—— 二層橋轉發藍圖(下)
struct sk_buff *br_handle_vlan(struct net_bridge *br, struct net_bridge_vlan_group *vg, struct sk_b
linux網路協議棧分析筆記14-路由4-FIB3
看完fib的查詢,弄清了一些資料結構的組織,我們再來看看路由表是如何建立的 從ip_fib_init註冊的兩個通知鏈來看,在IP地址傳送變動時會觸發通知鏈的處理函式,都會呼叫fib_add_ifaddr()來新增地址到路由中 這個裡面由呼叫了fib_magic來進行路由地址的操作。 static void
linux網路協議棧(五)網路層 (1)L2與L3
5.1、L2與L3: 網路的目的是使可以訪問不同主機的資源,僅以最簡單的使用如訪問我們軟體四部閘道器技術組的伺服器,是通過訪問192.168.36.XXX的IP地址達到訪問那臺主機的目的,而我們自己的主機IP都是192.168.10.XXX,我們的主機和閘道器技術組的主機不
linux網路協議棧(四)鏈路層 (5)vlan處理
4.6、VLAN處理: 4.6.1、vlan原理 對於帶vlan的乙太網報文,其乙太網型別為0x8100,所以鏈路層中對於帶vlan報文的處理就是對於乙太網型別為0x8100的報文的處理; vlan,用於在鏈路層劃分廣播域,實現資料在鏈路層分流,在二層交換機中,vlan實際
Linux網路協議棧之資料包處理過程(非技術人員勿看)
1.中斷處理函式中: 網絡卡收到一幀------------------------〉 引發中斷-------------------〉 cpu呼叫相應的中斷處理函式(指向此網絡卡驅動中的相應的處理函式)(把此packet讀到ram中)--------------------〉 呼叫neti
Linux 核心網路協議棧 ------sk_buff 結構體 以及 完全解釋 (2.6.16)
在2.6.24之後這個結構體有了較大的變化,此處先說一說2.6.16版本的sk_buff,以及解釋一些問題。 一、 先直觀的看一下這個結構體~~~~~~~~~~~~~~~~~~~~~~在下面解釋每個欄位的意義~~~~~~~~~~~ struct sk_buff {
Linux 網路協議棧之核心鎖(四)—— 程序上下文與中斷上下文的理解
一.什麼是核心態和使用者態 核心態:在核心空間執行,通常是驅動程式,中斷相關程式,核心排程程式,記憶體管理及其操作程式。 使用者態:使用者程式執行空間。 二.什麼是程序上下文與中斷上下文 1.程序上下文: (1)程序上文:其是指程序由使用者態切換到核心態是需
Linux網路協議棧(二)——套接字快取(socket buffer)
Linux網路核心資料結構是套接字快取(socket buffer),簡稱skb。它代表一個要傳送或處理的報文,並貫穿於整個協議棧。 1、 套接字快取 skb由兩部分組成: (1) 報文資料:它儲存了實際在網路中傳輸的資料; (2) 管理資料:供核心處理報
Linux網路驅動程式開發例項分析
一.Linux系統裝置驅動程式概述 1.1 Linux裝置驅動程式分類 1.2 編寫驅動程式的一些基本概念 二.Linux系統網路裝置驅動程式 2.1 網路驅動程式的結構 2.2 網路驅動程式的基本方法 2.3 網路驅動程式中用到的資料結構 2.4 常用的系統支援
linux網路協議棧(四)鏈路層 (1)鏈路層原理
四:鏈路層: 4.1、鏈路層原理: 4.1.1、鏈路層在幹什麼: 在報文接收方向上,網絡卡驅動把接收到的資料按照其對應的鏈路層協議(如乙太網)組裝成報文,然後把它上交給鏈路層,介面是netif_receive_skb,至此網絡卡驅動的任務就結束了,報文交給鏈路層處理; 在報
Linux 網路協議棧收訊息過程-Ring Buffer
想看能不能完整梳理一下收訊息過程。從 NIC 收資料開始,到觸發軟中斷,交付資料包到 IP 層再經由路由機制到 TCP 層,最終交
Linux 命令篇 之 Find(2)
正則表示式—regular expression 正則表示式,又稱正規表示法、常規表示法(英語:Regular Expression,在程式碼中常簡寫為regex、regexp或RE),電腦科學的一個概念。正則表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。在很
Linux 命令篇 之 wget(1)
wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是"World Wide Web"與"get"的結合。 我們嘗試來下載一個網路圖片吧! 很簡單的一條命令,就w
Linux 命令篇 之 wget(2)
我們接著上面的繼續來學 Wget –r ftp://a.server:/home/www/a a.server:/home/www/a/ 這樣下載你會發現啊,預設建立一個域名和絕對路徑 但是你不想要 wget –r –nH ftp://a.server://hom
惡意程式碼分析實戰 Lab09-01(1)
分析報告: 1. 樣本概況 病毒名稱為Lab09-01.exe,使用Microsoft Visual C++ v6.0編譯。 1.1樣本資訊 病毒名稱:Lab09-01.exe MD5值: B94AF4A4D4AF6EAC81FC135ABDA1C40C SHA1值