?
目錄
一、互聯網
二、JAVA跨平臺與C/C++的原理
1、JAVA跨平臺的原理
2、C/C++跨平臺的原理
三、網絡互連模型
四、客戶端與服務器
五、計算機之間的通信基礎
1、IP地址與MAC地址
2、ARP與ICMP對比
①ARP協議(地址解析協議)
②ICMP協議(互聯網控制報文協議)
六、計算機之間的連接方式
1、集線器(Hub)
2、網橋
3、交換機
4、路由器
????????數據是如何從一個設備傳遞到另一個設備的? 這一切都是由網絡協議來規定的。沒有網絡協議,就沒有今天的互聯網。互聯網、移動互聯網、物聯網,都離不開網絡協議,為了滿足各種需求,有各式各樣的網絡協議(HTTPS、SMTP、MQTT、RTMP等)。
一、互聯網
互聯網如何工作?
以訪問網站為例,互聯網的運作流程如下:
?????????輸入網址:在瀏覽器輸入 https://www.example.com。
?????????DNS解析:將域名轉換為對應的IP地址(如 93.184.216.34)。
?????????建立連接:通過TCP協議與目標服務器三次握手,建立可靠連接。
?????????發送請求:HTTP協議向服務器請求網頁數據。
?????????數據傳輸:數據被拆分為“數據包”,經路由器逐跳轉發到目標服務器。
?????????服務器響應:服務器返回HTML、CSS、JavaScript等文件,瀏覽器渲染頁面。
二、JAVA跨平臺與C/C++的原理
1、JAVA跨平臺的原理
JVM(Java Virtual Machine):Java虛擬機
·JAVA的跨平臺:一次編譯,到處運行編譯
·生成跟平臺無關的字節碼文件(文件)?
·由對應平臺的解析字節碼為機器指令(01010)
? ? ? ? ? 編譯 ? ? ? ? ? ? ? ?加載 ? ? ? ?Window/Mac/Linux
*.java-------> ?*.class ---------> ??JVM-->機器指令
注意:
如果代碼有語法錯誤,將編譯失敗,并不會生成字節碼文件
那就不會去運行一個程序。最后導致程序運行失敗
2、C/C++跨平臺的原理
C/C++的跨平臺:使用平臺相關的編譯器生成對應平臺的可執行文件
三、網絡互連模型
什么是協議?
????????協議(Protocol)是計算機或設備之間通信時遵循的規則和標準,定義了數據如何傳輸、格式如何組織、錯誤如何處理等,確保不同系統能正確交互。它類似于人類交流中的“語言”和“禮儀”,是數字世界協同工作的基礎。為了更好地促進互聯網絡的研究和發展,國際標準化組織 ISO 在 1985 年制定了網絡互連模型-->OSI 參考模型(Open System Interconnect Reference Model),具有 7 層結構。
按功能分層:
具體分層內容:
協議如何工作?
以發送郵件為例
?????????用戶寫郵件:在客戶端(如Outlook)輸入內容,點擊“發送”。
? ? ? ? 應用層協議(SMTP):將郵件內容按SMTP格式封裝(包括發件人、收件人)。
?????????傳輸層協議(TCP):將數據拆分為“段”,通過三次握手建立可靠連接。
?????????網絡層協議(IP):添加源IP和目標IP地址,將數據包路由到郵件服務器。
?????????物理層:通過光纖/電纜將電信號傳輸到目標服務器。
?????????收件方:服務器按協議反向解析數據,最終將郵件投遞到收件人郵箱
??四、客戶端與服務器
客戶端:????請求服務的終端??? ?-->?主動發起請求
??服務器??:??提供服務的終端??? -->??被動響應請求
請求過程
客戶端發送數據(自上而下封裝)?
①應用層:
生成原始數據(如HTTP請求:“獲取首頁內容”)。
添加應用層協議頭(如HTTP頭部:GET /index.html)。
②傳輸層:
將數據分割為“段”(Segment),添加端口號(如目標端口80)。
TCP協議附加序列號、校驗和(確保可靠傳輸)。
③網絡層:
封裝為“數據包”(Packet),添加源IP和目標IP地址(如客戶端IP 192.168.1.2 → 服務器IP 93.184.216.34)。
④數據鏈路層:
封裝為“幀”(Frame),添加MAC地址(如客戶端MAC 00:1A:2B:3C:4D:5E → 路由器MAC)。
⑤物理層:
將幀轉換為比特流(電信號/光信號),通過網線或無線傳輸。
服務器接收數據(自下而上解封裝)?
①物理層 → 數據鏈路層:
接收比特流,轉換為幀,校驗MAC地址是否匹配。
②數據鏈路層 → 網絡層:
剝離MAC頭部,檢查IP地址是否為服務器自身IP。
③網絡層 → 傳輸層:
剝離IP頭部,根據端口號(如80)將數據交給對應服務(如Web服務器)。
④傳輸層 → 應用層:
TCP重組數據段(按序列號排序),校驗完整性,最終傳遞原始HTTP請求到應用層。
⑤應用層處理:
解析HTTP請求,生成響應(如返回HTML文件),反向封裝并發送回客戶端。
總結:
????????客戶端與服務器的本質區別在于??服務方向??(請求 vs 響應),而非物理形態。當你在手機上滑動屏幕時——指尖觸發客戶端代碼生成請求,跨越層層協議棧抵達云端服務器,CPU執行微秒級的計算,再將結果穿透無數路由器精準返回,整個過程就像一場由協議導演、數據擔綱主角的環球接力賽。
五、計算機之間的通信基礎
1、IP地址與MAC地址
IP地址是通信的起點:計算機需先獲取目標設備的IP地址(通過DNS解析、手動輸入等方式),這是跨網絡尋址的基礎。
最終是根據MAC地址(網卡地址),輸送數據到網卡,被網卡接收
?目標MAC匹配:若數據幀的MAC地址與網卡自身地址一致,網卡將數據上傳至網絡層(如IP協議)處理。
?目標MAC不匹配:若MAC地址不匹配,網卡直接丟棄數據,避免無關流量占用系統資源。
關鍵設備:
?交換機:基于MAC地址轉發數據(數據鏈路層)。
?路由器:基于IP地址跨網絡路由(網絡層)。
?網關:協議轉換(如連接IPv4和IPv6網絡)。
應用場景:
設備A(IP: 192.168.1.20)向設備B(IP: 192.168.1.21)發送數據:
????????設備A檢查本地ARP緩存表,若未找到B的MAC地址,發送ARP廣播請求。
????????設備B響應ARP請求,返回自己的MAC地址。
????????設備B檢查本地ARP緩存表,若未找到A的MAC地址,發送ARP廣播請求。
????????設備A響應ARP請求,返回自己的MAC地址。
????????設備A將數據封裝為幀(目標MAC=設備B的MAC),通過交換機發送。
????????設備B的網卡檢測到目標MAC匹配,接收數據并上傳至網絡層處理。
總結流程:
①IP地址的獲取:
用戶通過域名(如 www.example.com)訪問資源時,需先通過DNS協議將域名解析為IP地址。
若目標設備在局域網內,可直接通過ARP協議獲取其MAC地址(無需經過路由器)。
②IP地址 → MAC地址的轉換:
通過ARP協議(Address Resolution Protocol)廣播查詢目標IP對應的MAC地址。
目標設備響應ARP請求,返回自身MAC地址,并存儲在本地ARP緩存表中。
③數據封裝與傳輸:
數據在網絡層封裝為IP數據包(包含源/目標IP地址)。
在數據鏈路層封裝為以太網幀(添加源/目標MAC地址)。
通過物理介質(網線、光纖等)傳輸到目標設備的網卡。
④網卡對數據幀的校驗:
網卡檢查幀頭中的目標MAC地址:
? ·匹配:拆解幀,將IP數據包傳遞給網絡層協議。
? ·不匹配:直接丟棄,不進行后續處理。
2、ARP與ICMP對比
①ARP協議(地址解析協議)
定義與作用:
????????ARP(Address Resolution Protocol)用于將網絡層的IP地址解析為數據鏈路層的MAC地址,使得同一局域網內的設備能夠直接通信。
工作原理:
ARP請求(廣播):當設備A需要與設備B通信,但不知道B的MAC地址時,會發送一個廣播ARP請求,包含目標IP地址。
ARP響應(單播):設備B收到請求后,若IP匹配,則回復一個單播ARP響應,包含自己的MAC地址。
緩存機制:設備A將B的IP-MAC映射存入本地ARP緩存表(通常有效期幾分鐘),減少重復請求。
②ICMP協議(互聯網控制報文協議)
定義與作用:
????????ICMP(Internet Control Message Protocol)用于傳遞網絡控制信息,如錯誤報告、狀態查詢,幫助診斷網絡問題。
工作原理:
封裝在IP數據包中(協議號1),不直接關聯傳輸層(如TCP/UDP)。
設備根據ICMP報文類型執行操作,例如:
???·目標不可達(類型3):路由器無法轉發數據包時發送。
?? ·超時(類型11):數據包TTL歸零時觸發。
?? ·回顯請求/應答(類型8/0):用于ping命令測試連通性。
總結:
六、計算機之間的連接方式
1、集線器(Hub)
集線器(Hub)是一種工作在物理層(OSI第一層)的網絡設備,主要功能是將接收到的電信號廣播到所有連接的端口,實現多臺設備的物理連接。
應用場景:
基于集線器的局域網,揭示了集線器的廣播泛洪、沖突域共享和低效轉發特性
2、網橋
網橋(Bridge)是一種工作在數據鏈路層(OSI第二層)的網絡設備,主要用于分割沖突域 和 過濾網絡流量,通過MAC地址學習實現智能轉發,解決集線器的廣播泛洪問題。以下是其核心特性:
?·沖突域分割:每個網橋端口獨立沖突域,避免全網沖突(集線器所有端口共享一個沖突域)。
?·MAC地址表學習:記錄設備的MAC地址與端口映射,僅轉發必要流量。
?·幀過濾:若目標設備在源端口同一側,網橋丟棄幀,避免冗余傳輸。
應用場景:
先通過廣播學習到每個計算機的MAC地址,再選擇性的發送數據
廣播域與沖突域的對比?:
總結對比:
3、交換機
交換機是一種工作在數據鏈路層(OSI第二層)的網絡設備,,但三層交換機可處理網絡層(IP路由)。通過記錄源MAC地址和端口的對應關系構建MAC地址表,減少廣播域,提升網絡效率。
轉發方式:
?????????存儲轉發:接收完整幀并校驗錯誤后再轉發(可靠性高)。
?????????直通轉發:讀取目標MAC后立即轉發(延遲低,但可能傳輸錯誤幀)。
交換機 vs 集線器/網橋的對比:
????????連接的設備必須在同一網段
????????連接的設備處在同一廣播域
4、路由器
路由器(Router)是連接不同網絡的核心設備,工作在??網絡層(OSI第三層)??,承擔著??跨網段尋址、數據包轉發和路徑控制??的關鍵職能。
路由器的本質作用??:
??跨網絡通信??:實現跨越IP子網的數據傳輸(例:從192.168.1.0/24到10.0.0.0/8)
??智能路徑選擇??:基于路由表選擇最優路徑
應用場景:
交換機 vs 集線器/網橋/交換機的對比:
?網線直連、同軸電纜、集線器、網橋、交換機
?????????連接的設備必須在同一網段
?????????連接的設備處在同一廣播域
?路由器
?????????可以在不同網段之間轉發數據
?????????隔絕廣播域
總結:
????????交換機專注“快速連通同網段設備”,路由器負責“跨網段尋路與安全管控”——二者協同構建完整網絡(如企業內交換機互聯設備,路由器連接外網并隔離風險)。