柚子快報邀請碼778899分享:【Linux】網(wǎng)絡新手村
柚子快報邀請碼778899分享:【Linux】網(wǎng)絡新手村
歡迎來到?破曉的歷程的 博客
??不負時光,不負己??
文章目錄
走進網(wǎng)絡**局域網(wǎng)和廣域網(wǎng)**局域網(wǎng)(LAN)總結(jié)
協(xié)議網(wǎng)絡分層OSI七層模型CP/IP五層(或四層)模型兩種模型的對比
關于報頭和協(xié)議局域網(wǎng)
引言
今天,我們就開始學習Linux網(wǎng)絡相關的內(nèi)容。這篇博客作為Linux網(wǎng)絡板塊的第一篇博客看,我們首先要帶著大家明白Linux網(wǎng)絡的一些名詞的概念,為之后的學習掃清障礙。然后我們就開始學習套接字相關的內(nèi)容。說干就干,那我們就開始吧。
走進網(wǎng)絡
我們生活在一些互聯(lián)網(wǎng)的時代,這些網(wǎng)絡的名詞大家認識嗎?
局域網(wǎng)和廣域網(wǎng)
局域網(wǎng)(Local Area Network,簡稱LAN)和廣域網(wǎng)(Wide Area Network,簡稱WAN)是計算機網(wǎng)絡中的兩種主要類型,它們在覆蓋范圍、連接方式、應用場景等方面存在顯著差異。
局域網(wǎng)(LAN)
定義與特點:
局域網(wǎng)是指在某一區(qū)域內(nèi)由多臺計算機互聯(lián)成的計算機組,通常覆蓋方圓幾千米以內(nèi)的范圍。它是在較小的地理范圍內(nèi)(如一個學校、工廠、機關或家庭內(nèi))實現(xiàn)計算機設備連接和數(shù)據(jù)共享的網(wǎng)絡。局域網(wǎng)可以是封閉型的,由辦公室內(nèi)的兩臺計算機組成,也可以是一個公司內(nèi)包含上千臺計算機的大型網(wǎng)絡。局域網(wǎng)具有高效、可靠且安全的通信環(huán)境,能夠滿足用戶之間的信息傳輸和資源共享需求。
主要功能:
文件管理、應用軟件共享、打印機共享等。工作組內(nèi)的日程安排、電子郵件和傳真通信服務。
組成與連接:
局域網(wǎng)通常包括一組相互連接的計算機、服務器、網(wǎng)絡設備和通信媒介等。這些設備可以通過有線或無線方式進行連接,并通過網(wǎng)絡協(xié)議進行通信和數(shù)據(jù)傳輸。
### 廣域網(wǎng)(WAN)
定義與特點:
廣域網(wǎng)是一種連接不同地區(qū)局域網(wǎng)或城域網(wǎng)計算機通信的遠程網(wǎng),通??缃雍艽蟮奈锢矸秶?,從幾十公里到幾千公里不等。它能夠連接多個地區(qū)、城市、國家甚至橫跨幾個洲,提供遠距離通信服務,形成國際性的遠程網(wǎng)絡。廣域網(wǎng)并不等同于互聯(lián)網(wǎng),但互聯(lián)網(wǎng)是廣域網(wǎng)的一種重要形式。
主要功能:
連接分布在不同地區(qū)的局域網(wǎng)或計算機系統(tǒng),實現(xiàn)資源共享和遠程通信。提供世界范圍的數(shù)據(jù)通信服務。
組成與連接:
廣域網(wǎng)主要由通信子網(wǎng)和資源子網(wǎng)組成。通信子網(wǎng)負責數(shù)據(jù)傳輸和交換,可以利用公用分組交換網(wǎng)、衛(wèi)星通信網(wǎng)和無線分組交換網(wǎng)等技術實現(xiàn)。資源子網(wǎng)則包含各種計算機系統(tǒng)和數(shù)據(jù)資源,通過通信子網(wǎng)實現(xiàn)互連和資源共享。
總結(jié)
所謂 “局域網(wǎng)” 和 “廣域網(wǎng)” 只是一個相對的概念. 比如, 我們有 “天朝特色” 的廣域網(wǎng), 也可以看做一個比較大的局域網(wǎng) 局域網(wǎng)和廣域網(wǎng)是計算機網(wǎng)絡中的兩種重要類型,它們在覆蓋范圍、連接方式、應用場景等方面各具特色。局域網(wǎng)主要適用于較小范圍內(nèi)的計算機互聯(lián)和數(shù)據(jù)共享,而廣域網(wǎng)則能夠連接不同地區(qū)的計算機系統(tǒng),實現(xiàn)遠距離通信和資源共享。在實際應用中,局域網(wǎng)和廣域網(wǎng)往往相互結(jié)合,共同構建更加復雜和龐大的計算機網(wǎng)絡系統(tǒng)。
協(xié)議
在未來的學習網(wǎng)絡過程中,我們會經(jīng)常聽到一個名詞——協(xié)議。大家日常聽到的協(xié)議的協(xié)議就是約定,但在網(wǎng)絡中協(xié)議的概念并不是如此。 在之前電話還不是很普及的時代,電話費很貴。張三要到外地上大學,在臨行前張三和父親約定:以后我給你打電話,電話響一聲表示我很好,你不用擔心我,不用接;電話響兩聲表示我沒錢了,需要你給我打錢,也不用接;電話響了三聲就代表我有事和你說,這時候你再接電話。就這樣,通過響鈴聲,不用接的方式,不僅傳達了意思,還不用花電話費,一舉兩得。這就是協(xié)議,協(xié)議的本質(zhì)是一種規(guī)則。 李四在京東上買了一個杯子,兩天就到了李四的手中。難道是商家親自把杯子給李四送過來嗎?當然不是。商家把杯子給樓下的順豐小哥,然后順豐小哥給快遞貼上標簽,標簽上寫著收貨人的聯(lián)系方式、住址、姓名等等。然后這個快遞就上路了,輾轉(zhuǎn)多個地方,來到了李四也就是收貨人的手中,但李四不僅僅收到了杯子,還有一個標簽。其中,這個標簽就是順豐公司內(nèi)部給快遞定的信息表,凡事順豐內(nèi)部的工作人員都可以看懂這個信息表,然后快遞每到一處中轉(zhuǎn)站,工作人員就會根據(jù)標簽上的信息對快遞進行分揀,然后快捷,高效的把快遞送到指定的收貨人手中。這就是順豐公司的協(xié)議。如果沒有這個協(xié)議的存在,快遞員就不知道這個快遞該運向哪?交給誰。而這些快遞上貼的標簽就是報頭。 這個觀點遷移到計算機中同樣適用。我們的計算機是有不同的硬件阻成的。這些硬件之間是通過總線進行連接的。為了讓這些硬件協(xié)同高效的運轉(zhuǎn)起來,與此同時對數(shù)據(jù)進行處理,離不了協(xié)議和報頭。
協(xié)議的本質(zhì)就是一種規(guī)則,大家都可以看懂的規(guī)則。協(xié)議=報頭+有效數(shù)據(jù)。
網(wǎng)絡分層
假如,你和你的好朋友打電話,你們是在直接通信嗎?這個問題看似廢話,其實不是的。 你們并沒有直接通話。你們要想通話,必須使用相同的語言,所以就有語言協(xié)議。你們的聲音分別交給了自己的電話,然后電話機之間通過電話機協(xié)議傳輸數(shù)據(jù),這才導致你么聽見了彼此的聲音。如此有什么好處呢?假如你們使用英語溝通,電話機協(xié)議是不需要改變的。所以這就實現(xiàn)了解耦。關于解耦的更多話題,我們以后再談。 假如:你騎自行車從北京到四川去玩,毫無疑問,中間會經(jīng)過很多地方。首先,你得有能力從一個地方來到另一個地方。其次從北京出發(fā)可以到達很多地方,我們要有路徑選擇的能力。并且從北京到四川,我們極有可能會走錯方向,走錯方向的時候,我們要能力修正方向。最后,你去四川不是目的,你的目的是到四川去玩。
OSI七層模型
包括以下七個層次,每個層次都具有獨特的職責和功能:
物理層 (Physical Layer)數(shù)據(jù)鏈路層 (Data Link Layer)網(wǎng)絡層 (Network Layer)傳輸層 (Transport Layer)會話層 (Session Layer)表示層 (Presentation Layer)應用層 (Application Layer)
每個層次都構建在前一層次的基礎上,向上提供更高層次的服務,向下依賴更低層次的服務。以下是對每個層次的簡要介紹:
物理層: 負責在物理媒介上傳輸原始比特流,包括電纜、光纖等。它主要關注硬件細節(jié)和傳輸介質(zhì)的特性。
數(shù)據(jù)鏈路層: 負責將比特流組織成幀,進行物理尋址和錯誤檢測。以太網(wǎng)協(xié)議和PPP協(xié)議是數(shù)據(jù)鏈路層的典型實現(xiàn)。
網(wǎng)絡層: 提供數(shù)據(jù)包的傳輸服務,實現(xiàn)源到目的地的路徑選擇。IP協(xié)議是網(wǎng)絡層最為重要的協(xié)議之一。
傳輸層: 負責端到端的通信,確保數(shù)據(jù)的可靠傳輸。TCP和UDP是傳輸層最常見的協(xié)議,分別提供可靠的連接和無連接的通信服務。
會話層: 建立、管理和終止會話,確保數(shù)據(jù)的同步和控制。RPC(遠程過程調(diào)用)和NetBIOS是會話層的典型協(xié)議。
表示層: 負責數(shù)據(jù)的格式轉(zhuǎn)換、加密和解密。ASCII和JPEG等編碼和壓縮算法屬于表示層的范疇。
應用層: 為用戶提供網(wǎng)絡服務,是用戶與網(wǎng)絡之間的接口。HTTP、FTP、SMTP等協(xié)議屬于應用層。 這個模型最全面,但是我們使用最多的網(wǎng)絡分層模型卻不是這個。
CP/IP五層(或四層)模型
TCP/IP是一組協(xié)議的代名詞,它還包括許多協(xié)議,組成了TCP/IP協(xié)議簇TCP/IP通訊協(xié)議采用了5層的層級結(jié)構,每一層都呼叫它的下一層所提供的網(wǎng)絡來完成自己的需求。
物理層: 負責光/電信號的傳遞方式,比如現(xiàn)在以太網(wǎng)通用的網(wǎng)線(雙絞 線)、早期以太網(wǎng)采用的的同軸電纜(現(xiàn)在主要用于有線電視)、光纖,現(xiàn)在的wifi無線網(wǎng)使用電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等.集線器(Hub)工作在物理層數(shù)據(jù)鏈路層: 負責設備之間的數(shù)據(jù)幀的傳送和識別,例如網(wǎng)卡設備的驅(qū)動、幀同步(就是說從網(wǎng)線上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到?jīng)_突就自動重發(fā))、數(shù)據(jù)差錯校驗等工作,有以太網(wǎng)、令牌環(huán)網(wǎng),無線LAN等標準.交換機(Switch)工作在數(shù)據(jù)鏈路層。一般我們對這一層是忽略的。 網(wǎng)絡層:負責地址管理和路由選擇,例如在IP協(xié)議中,通過IP地址來標識一臺主機,并通過路由表的方式規(guī)劃出兩臺主機之間的數(shù)據(jù)傳輸?shù)木€路(路由).路由器(Router)工作在網(wǎng)路層。 傳輸層: 負責兩臺主機之間的數(shù)據(jù)傳輸.如傳輸控制協(xié)議 (TCP),能夠確保數(shù)據(jù)可靠的從源主機發(fā)送到目標主機. 應用層: 負責應用程序間溝通,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡遠程訪問協(xié)議(Telnet)等.我們的網(wǎng)絡編程主要就是針對應用層. 如下是各層代表的協(xié)議:
兩種模型的對比
如圖:
我們編碼的區(qū)域一般都是在應用層。傳輸層和網(wǎng)絡層都是由操作系統(tǒng)維護的。不同的操作系統(tǒng)對這部分內(nèi)容的設計都是類同的,這就奠定了不同的操作系統(tǒng)同樣可以實現(xiàn)數(shù)據(jù)的交互和信息的傳遞。傳輸層和網(wǎng)絡層都是由操作系統(tǒng)維護的。操作系統(tǒng)不相信任何人,所以操作系統(tǒng)不會讓應用層的代碼直接訪問傳輸層。所以在傳輸層和應用層之間一定存在著大量的系統(tǒng)調(diào)用接口供開發(fā)者使用。未來我們在應用層的各種開發(fā)工作都要訪問這些接口。網(wǎng)絡分層的好處就是:有效的實現(xiàn)了高內(nèi)聚,低耦合。將很多關聯(lián)性很高的代碼和功能放在一層。減少各個層級之間的相互影響。
關于報頭和協(xié)議
有了網(wǎng)絡分層的知識,報頭我就可以多講一些。
每一層都有若干個協(xié)議,而且協(xié)議的表現(xiàn)形式都是報頭。 每一份數(shù)據(jù)最終在被發(fā)送或者在不同的協(xié)議層中,都會有自己的報頭。 應用層也是需要報頭的。 接下來,我們來看一下數(shù)據(jù)在自頂向下傳輸過程中,報頭是怎樣工作的。 如圖,為了方便說明,我們將各個網(wǎng)絡層的報頭用特殊的字符表示。有A主機和 B主機。A主機要向B主機發(fā)送信息:“你好”。如上就是信息在網(wǎng)絡層的傳輸過程。 報文=報頭+有效的載荷 發(fā)送數(shù)據(jù)時,自頂向下添加報頭,我們稱之為封裝的過程。 接受數(shù)據(jù)時,自下而上去掉報頭,我們稱之為解包的過程。 在網(wǎng)絡通信當中,我們發(fā)現(xiàn)同層報頭和有效載荷完全相同。我們可以理解成同層協(xié)議之間直接通信,也可以理解層自頂向下交付。這兩種認識的方式并不沖突。
封裝的過程很好理解,現(xiàn)在我想談一談解包的過程。 1.在解包的時候,怎么區(qū)分哪部分是報頭?哪部分是有效的載荷呢? 2.在解包的時候,如何知道自己的有效的載荷要交付接上層的哪一個協(xié)議?要知道一層中不止一種協(xié)議。 如上的兩個問題是每一層協(xié)議都必須解決的問題。每一層協(xié)議的報頭中,必須涵蓋如上的信息,這是所有協(xié)議的共性。我們把有效的載荷定向向上交付給指定協(xié)議的過程稱為分用的過程。
局域網(wǎng)
兩臺處于同一局域網(wǎng)的主機可以直接通信。 局域網(wǎng)中通信的標準有:①以太網(wǎng)②令牌環(huán)網(wǎng)③無線LAN通信。 接下來我們談一談以太網(wǎng)通信的原理: 在局域網(wǎng)中每一臺機器都有自己的“名字”。每一臺機器都有網(wǎng)卡,網(wǎng)卡有自己的唯一性地址:Mac地址。Mac地址用來表征自己在局域網(wǎng)中的唯一性。 如圖,在一個局域網(wǎng)中有8臺機器。 主機1向主機8發(fā)送消息,所有在同一局域網(wǎng)中的主機都可以收到這一消息。然后根據(jù)Mac地址進行比較,如果這個消息是發(fā)給自己的,就接受這一消息;如果不是發(fā)給自己的,就會自動摒棄該消息。 但是,就像在一間教室里,一個人說話,全班都可以聽清楚,但是如果多個人同時說話,就分辨不出誰和誰進行對話一樣。在一個局域網(wǎng)中,同一時間只允許一個主機向局域網(wǎng)中發(fā)送消息,否則就會發(fā)生碰撞。所以該局域網(wǎng)被稱為碰撞域。 那我們?nèi)绾慰创钟蚓W(wǎng)中的網(wǎng)絡資源呢?是共享資源,臨界資源。
接下來我們簡單講一下令牌環(huán)網(wǎng)的原理。 在同一局域網(wǎng)中,只允許持有令牌環(huán)的主機發(fā)送信心,這種做法和我們學的鎖?非常相似。
到這里,我們的內(nèi)容就告一段落。我們下篇博客,再見。
柚子快報邀請碼778899分享:【Linux】網(wǎng)絡新手村
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。