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