目錄
本筆記通過記錄 資料報 在網路中的生命履歷來引出一些網路基礎知識,如:
mac、arp、ip、子網掩碼、閘道器、集線器、交換機、路由器這些概念都是在鏈路層和網路層。
(這些都不做嚴謹的說明,只是為了更好的了解而表達的個人描述)
瀏覽本小節的時候遇到疑問點可以可以跳到理解區 check 一下有沒有答案。
資料報:
簡單路徑:源主機 -> 目標主機。可能路徑:源主機 -> 交換機a -> 路由器a -> 路由器b -> 交換機b -> 目標主機。
參考圖:
源主機視角:
交換機視角:
路由器視角:
三張表:
資料報得先了解 tcp/ip 網路七層級及各級的作用和資料封裝。
應用層的資料一層一層通過包裝下來,通過物理層的物理裝置發出去,到最終目的主機後,又像扒洋蔥一樣,一層一層扒開,最終到達應用層後的資料和源主機應用層的資料一樣。如圖:
名詞說明:
ip:主機位址。屬於網路層位址。
一般用於源主機和最終目標主機中。
mac:裝置位址。屬於資料鏈路層位址。
一般用於當前裝置和下一裝置中(不一定是最終裝置)。
子網掩碼:用於判斷 ip 處於哪個網段。
一般用於比較兩個 ip 是否處於同乙個子網中。
預設閘道器:
若傳送的資料不在本子網,就丟給預設閘道器處理。
一般用於與外網通訊。
預設閘道器ip一般都設為路由器ip,因為一般都是通過路由器與外網通訊。
arp:
是一種位址解析協議。根據ip位址來獲取mac位址的。
源主機攜帶ip資料廣播給通過支援arp裝置連線起來的多主機,若目標ip對於,則該主機返回攜帶mac資料給源主機。
集線器:
字面理解即可,如何一台主機資料發到集線器,都廣播到所有出口。
作用在物理層(第程式設計客棧一層),不對mac操作。
交換機:
比集線器高階,不再是廣播到所有出口,而是只**到目標mac的出口。
作用在資料鏈路層(第二層),參考mac,只**到目標mac的出口。
工作在區域網內。
路由器:
比交換機高階。
具有路由功能。
作用在網路層(第三層),參考ip。
連線區域網和外網。
macmac:裝置位址。屬於資料鏈路層位址。
一般用於當前裝置和下一裝置中(不一定是最終裝置)。
ipip:主機位址。屬於網路層位址。
一般用於源主機和最終目標主機中。
子網子網掩碼 & 判斷是否在同一子網:
ip 與 子網掩碼 做 按位與 ,就可以得出該 ip 的子網網段。
如:子網掩碼:255.255.255.0
ip-1: 192.168.1.2 & 255.255.255.0 = 192.168.1.0
ip-2: 192.168.1.123 & 255.255.255.0 = 192.168.1.0
ip-3: 192.168.2.123 & 255.255.255.0 = 192.168.2.0
因為 192.168.1.0 = 192.168.1.0,所以ip-1與ip-2處於同一子網。
因為 192.168.1.0 != 192.168.2.0,所以ip-1與ip-3不在同一子網。
在發資料報時,子網的作www.cppcns.com用:
arparp:
www.cppcns.com
集線器字面理解即可,如何一台主機資料發到集線器,都廣播到所有出口。
作用在物理層(第一層),不對mac操作。
如圖:交換機
比集線器高階,不再是廣播到所有出口,而是只**到目標mac的出口。
作用在資料鏈路層(第二層),參考mac,只**到目標mac的出口。
工作在區域網內。
交換機連線:
左邊交換機的位址表:
mac 位址
埠bb-bb-bb-bb-bb-bb
1cc-cc-cc-cc-cc-cc
3aa-aa-aa-aa-aa-aa
4dd-dd-dd-dd-dd-dd
5ee-urpzvfqee-ee-ee-ee-ee
6ff-ff-ff-ff-ff-ff
6gg-gg-gg-gg-gg-gg
6hh-hh-hh-hh-hh-hh
6路由器
作用在網路層(第三層),參考ip。
路由器的每乙個埠,都有獨立的 mac 位址。
連線區域網和外網。
網路資料報
我們知道網路是通過分組交換進行通訊,是將使用者傳送的資訊資料劃分成一定的長度,每個部分叫做乙個分組。每個分組的前面有乙個分組頭,用以指明該分組發往何位址,然後由 交換機根據每個分組的位址標誌,將他們 至目的地,這一過程稱為 分組交換 osi open system interconnection,開...
資料報網路
主機到主機通訊就是所謂的網路服務模型。有兩類 1 面向連線服務 傳送方向接收方傳送控制分組進行握手,握手提醒傳送方傳送資料分組前,彼此通過傳送控制分組進行握手,握手過程結束,兩個端系統之間會建立連線,可以不再收發資料分組,資料傳輸完成後要拆除這種連線,也就是所謂的揮手。2 面向無連線服務 直接傳送分...
抓取網路資料報
當使用者在區域網內傳遞資料時,處於同一網段的所有計算機的網絡卡都會收到這些資料,儘管它不是傳遞資料的目的地。利用這一特點,我們就可以截獲區域網中傳遞的資料。為了能夠獲取通過網絡卡上的資料,需要建立原始套接字。使用者可以將socket函式的第二個引數設定為sock raw來建立原始套接字。例如 m s...