计算机网络之-嵌入式学习
網絡作為嵌入式學習的必備知識,很多嵌入式學習者還沒有真正的去系統的了解過網絡這個知識,在學習網絡這塊的知識,整理了一些網絡筆記,希望對大家的學習能有幫助,那下面就一起看看計算機網絡的相關知識吧!本文較長,建議點贊收藏反復觀看!
本文將會從以下幾個方面為大家系統的介紹計算機的網絡:
1、什么是計算機網絡?
2、網絡的分類
3、七層網絡模型
4、IP地址
5、子網掩碼
6、TCP/IP協議
7、三次握手四次揮手
什么是計算機網絡?
計算機網絡是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。–(定義來源于百度百科)
看完這個官方定義可能大家還不太清楚計算機網絡到底是個什么東西,那下面就用幾個關鍵詞來定義一下計算機網絡吧!計算機網絡就是相互連接的、以資源共享為目的的、自治的計算機集群。
首先要明白計算機網絡是集群性質的,一個電腦不叫網絡,多臺能夠自治(獨立工作)的電腦的互聯才能組成網絡!在網絡中一個最重要的也是網絡的核心那就是多機共享,正是人們基于共享才出現了網絡。
網絡的分類
了解了計算機網絡的定義,之后再了解一下計算機網絡的分類,總的來說可以按照以下5點進行分類:網絡的覆蓋范圍、網絡傳輸方式、拓撲結構、網絡協議、傳輸介質。
1、按照覆蓋范圍分
網絡的覆蓋范圍,又可以分為:局域網、城域網和廣域網。
局域網英文是 LAN ( Local Area Network),Local,本地的、當地的。自己安裝過網線或者路由器的應該都知道路由器上有個LAN口,大家在家庭中的網絡連接一般都是PC —> 無線路由器 ---->(LAN)光貓(WAN)—> ISP —> Internet GW —> Internet,一般情況下,這樣鏈接在同一個路由器下的各電腦就組成了一個簡單的局域網。
但是,若路由器下連接有可網管的高級交換機,這類交換機可劃分VLAN(虛擬局域網),這樣有的電腦即使在同一個路由器下,也可能分別屬于不同的VLAN,即不同局域網。
局域網規模相對較小,通信線路較短,覆蓋區域的直徑通常在幾百米到幾公里之間。城域網是指覆蓋一個城市的計算機網絡。廣域網是指覆蓋一個國家甚至整個地球的更大的網絡。
雖然局域網、城域網和廣域網這些術語是針對網絡的覆蓋范圍而提出的,但它們更有別于網絡建設技術。
2、網絡的傳輸方式分
網絡按照傳輸方式分可分為廣播式網絡和點對點網絡。
廣播式網絡在網絡中只有一個單一的通信信道,由這個網絡中所有的主機所共享。即多個計算機連接到一條通信線路上的不同分支點上,任意一個節點所發出的報文分組被其他所有節點接受。發送的分組中有一個地址域,指明了該分組的目標接受者和源地址。
圖片
純點對點網絡沒有客戶端或服務器的概念,只有平等的同級節點,同時對網絡上的其它節點充當客戶端和服務器。這種網絡設計模型不同于客戶端-服務器模型,在客戶端-服務器模型中通信通常來往于一個中央服務器。
圖片
大家在學習計算機時可能聽說過P2P這樣的網絡結構,P2P網絡的一個重要的目標就是讓所有的客戶端都能提供資源,包括帶寬,存儲空間和計算能力。P2P網絡的分布特性通過在多節點上復制數據,也增加了防故障的健壯性,并且在純P2P網絡中,節點不需要依靠一個中心索引服務器來發現數據。在后一種情況下,系統也不會出現單點崩潰。
3、按照拓撲結構分
網絡拓撲結構就是指用傳輸媒體把計算機等各種設備互相連接起來的物理布局,網絡拓撲結構可按形狀分類,分別有:星型、環型、總線型、樹型、總線/星型和網狀型拓撲結構。
圖片
1、星型拓撲星型是結構是一個中心,多個分節點。它結構簡單,連接方便,管理和維護都相對容易,而且擴展性強。網絡延遲時間較小,傳輸誤差低。中心無故障,一般網絡沒問題。中心故障,網絡就出問題,同時共享能力差,通信線路利用率不高。圖片
2、總線拓撲結構總線拓撲結構所有設備連接到一條連接介質上。總線結構所需要的電纜數量少,線纜長度短,易于布線和維護。多個結點共用一條傳輸信道,信道利用率高,但不找診斷故障。圖片
3、環形拓撲網絡環形拓撲網絡是節點形成一個閉合環。工作站少,節約設備。當然,這樣就導致一個節點出問題,網絡就會出問題,而且不好診斷故障。圖片
4、樹形拓撲樹形拓撲從總線拓撲演變而來,形狀像一棵倒置的樹,頂端是樹根,樹根以下帶分支,每個分支還可再帶子分支,樹根接收各站點發送的數據,然后再廣播發送到全網。好擴展,容易診斷錯誤,但對根部要求高。圖片
5、網形拓撲應用的最廣泛,它的優點是不受瓶頸問題和失效問題的影響,一天線路出問題,可以做其他線路,但太復雜,成本高。圖片
6、混合式拓撲結構是將上面兩種或多種共同使用。如用的多有星總線型、星環型等。優點:可以對網絡的基本拓撲取長補短。缺點:網絡配置掛包那里難度大。
4、按照網絡協議分
首先大家要明白網絡協議是什么,通信協議就是雙方共同遵守的規則或約定。不同的網絡采用不同的通信協議,如局域網中的以太網采用CSMA協議,廣域網中的分組交換網采用X.25協議,Internet網采用TCP/IP 協議。
5、按照傳輸介質分
傳輸介質就是通信線路。目前常用同軸電纜、雙絞線、光纖、衛星、微波等有線或無線傳輸介質,相應的網絡就分別稱為同軸電纜網、雙絞線網、光纖網、衛星網、無線網等。
七層網絡模型
OSI七層模型,OSI為(Open System interconnect)的縮寫,自上而下分別是應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層,這些知識大家在C語言或者計算機基礎里應該也已經有所學習了。下面就分別來一起看一下這七層網絡模型吧!
圖片
1)物理層(Physical Layer)首先,物理層定義了所有電子及物理設備的規范,為上層的傳輸提供了一個物理介質數據的單位為比特(bit)。物理層雖然處于最底層,卻是整個開放系統的基礎。
進一步講就是,物理層的作用是要盡可能的屏蔽掉計算機網絡中的硬件設備和傳輸媒體的差異,畢竟世界上有那么多硬件設備制造商,我們上網使用的手段很多,硬件當然是種類繁多了。
物理層要做的就是盡可能屏蔽掉這種差異,這樣就可以使數據鏈路層只需要考慮如何完成本層次的協議和服務,而不必考慮網絡具體的傳輸媒體是什么。
2)數據鏈路層(Data Link Layer)數據鏈路層是OSI參考模型中的第二層,介乎于物理層和網絡層之間。數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。
3)網絡層(Network Layer)網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務使傳輸層不需要了解網絡中的數據傳輸和交換技術。
4)傳輸層(Transport Layer)傳輸層負責將上層數據分段并提供端到端的、可靠的或不可靠的傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。
網絡層只是根據網絡地址將源結點發
- List item
出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的端口。
5)會話層會話層管理主機之間的會話進程,即負責建立、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步。
6)表示層表示層對上層數據或信息進行變換以保證一個主機應用層信息可以被另一個主機的應用程序理解。表示層的數據轉換包括數據的加密、壓縮、格式轉換等。
7)應用層為操作系統或網絡應用程序提供訪問網絡服務的接口。
IP地址和硬件地址
所謂IP地址就是給每個連接在Internet上的主機分配的一個32bit地址。按照TCP/IP協議規定,IP地址用二進制來表示,每個IP地址長32bit,比特換算成字節,就是4個字節。
IP地址是IP數據報在網絡層及以上各層使用的一種邏輯地址,硬件地址是物理層和數據鏈路層使用的地址。
Internet 上的每臺主機(Host)都有一個唯一的IP地址。IP協議就是使用這個地址在主機之間傳遞信息,這是Internet 能夠運行的基礎。
硬件地址就是我們常說的MAC地址,這個地址就像你的身份證一樣是世界上唯一的,在設備出廠的時候就打在設備的芯片里了,是按照國際上的標準和規定統一的格式,這個地址是永遠不變的。
同一型號的兩個設備硬件地址也不同,局域網內有多種尋找硬件地址的方法,而路由有一個最大的特點就是通過廣播把他下面的所有PC機或者是交換機,或者是路由器的MAC自動加入到他的分配表里面,這樣才去給他們分配IP地址,是先獲取其實際的MAC地址后,按MAC地址去分配IP地址,路由有自動學習的功能。
子網掩碼
子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩。它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。
子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。
子網掩碼是一個32位地址,用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在廣域網上。
TCP/IP
TCP/IP 是供已連接因特網的計算機進行通信的通信協議。當應用程序希望通過 TCP 與另一個應用程序通信時,它會發送一個通信請求。這個請求必須被送到一個確切的地址。在雙方“握手”之后,TCP 將在兩個應用程序之間建立一個全雙工 (full-duplex) 的通信。
TCP/IP 意味著 TCP 和 IP 在一起協同工作。TCP 負責應用軟件(比如你的瀏覽器)和網絡軟件之間的通信,IP 負責計算機之間的通信。TCP 負責將數據分割并裝入 IP 包,然后在它們到達的時候重新組合它們,IP 負責將包發送至接受者。
TCP/IP的標準化流程大概分為以下幾個階段:
①互聯網草案階段:從提出開始不斷進行討論實驗,有了一定成熟度,覺得實際可行,認為其可以進行標準化,可進入下一階段
②提議標準階段:計入RFC,開始進入眾多設備廠商生產環節,投入試驗使用,一般為6個月,當所有參與協議的人覺得其“實用性強,不存在太多問題”,則進入下一階段
③草案標準階段:一般為期4個月,在經過不斷的使用和討論改進后,被大眾所使用接受,那么這個草案標準就進入下一個階段
④標準階段:到這個階段,意味著該標準已廣泛被使用且具有很強的實用性圖片
三次握手四次揮手
(1)第一步:源主機A的TCP向主機B發出連接請求報文段,其首部中的SYN(同步)標志位應置為1,表示想與目標主機B進行通信,并發送一個同步序列號X(例:SEQ=100)進行同步,表明在后面傳送數據時的第一個數據字節的序號是X+1(即101)。SYN同步報文會指明客戶端使用的端口以及TCP連接的初始序號。
(2)第二步:目標主機B的TCP收到連接請求報文段后,如同意,則發回確認。在確認報文中應將ACK位和SYN位置1,表示客戶端的請求被接受。確認號應為X+1(圖中為101),同時也為自己選擇一個序號Y。
(3)第三步:源主機A的TCP收到目標主機B的確認后要向目標主機B給出確認,其ACK置1,確認號為Y+1,而自己的序號為X+1。TCP的標準規定,SYN置1的報文段要消耗掉一個序號。
圖片
運行客戶進程的源主機A的TCP通知上層應用進程,連接已經建立。當源主機A向目標主機B發送第一個數據報文段時,其序號仍為X+1,因為前一個確認報文段并不消耗序號。
當運行服務進程的目標主機B的TCP收到源主機A的確認后,也通知其上層應用進程,連接已經建立。至此建立了一個全雙工的連接。
三次握手的原因如果采用的是三次握手,就算是那一次失效的報文傳送過來了,服務端接受到了那條失效報文并且回復了確認報文,但是客戶端不會再次發出確認。由于服務器收不到確認,就知道客戶端并沒有請求連接。在這里插入代碼片
總結
以上是生活随笔為你收集整理的计算机网络之-嵌入式学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5的兴起与4G网络的出现,能否够
- 下一篇: 关于slot、slot-scope的指令