?文章來源地址http://www.zghlxwxcb.cn/news/detail-821457.html
?1. 什么是網(wǎng)絡(luò)
隨著時代的發(fā)展,越來越需要計算機之間互相通信,共享軟件和數(shù)據(jù),即以多個計算機協(xié)同?作來完成業(yè)務(wù),于是有了網(wǎng)絡(luò)互連。
網(wǎng)絡(luò)互連:將多臺計算機連接在?起,完成數(shù)據(jù)共享。
數(shù)據(jù)共享本質(zhì)是網(wǎng)絡(luò)數(shù)據(jù)傳輸,即計算機之間通過網(wǎng)絡(luò)來傳輸數(shù)據(jù),也稱為網(wǎng)絡(luò)通信。
根據(jù)網(wǎng)絡(luò)互連的規(guī)模不同,可以劃分為局域網(wǎng)和廣域網(wǎng)。
1.1 局域網(wǎng)?
局域網(wǎng)(Local Area Network,簡稱LAN)是指在一個小范圍內(nèi),例如學(xué)校、企業(yè)或家庭中的計算機和其他網(wǎng)絡(luò)設(shè)備通過高速傳輸媒介連接起來的計算機網(wǎng)絡(luò)。局域網(wǎng)內(nèi)的主機之間能?便的進行網(wǎng)絡(luò)通信,又稱為內(nèi)網(wǎng);局域網(wǎng)和局域網(wǎng)之間在沒有連接的情況下,是無法通信的。
局域網(wǎng)的組成方式:
-
基于網(wǎng)線直連:
基于網(wǎng)線直連是一種簡單的局域網(wǎng)組建方式,只需要將計算機和其他設(shè)備通過網(wǎng)線直接連接在一起。這種方式適合小型局域網(wǎng),例如家庭或小辦公室環(huán)境。每個設(shè)備都可以直接與其他設(shè)備進行通信和數(shù)據(jù)傳輸。 -
基于集線器組建:
基于集線器組建的局域網(wǎng)使用一個集線器(Hub)作為中心節(jié)點,將所有計算機和其他設(shè)備連接在一起。集線器接收到的數(shù)據(jù)包會被廣播給所有連接的設(shè)備。這種方式適用于較小規(guī)模的局域網(wǎng),但由于數(shù)據(jù)包的廣播特性,可能會影響網(wǎng)絡(luò)性能。 -
基于交換機組建:
基于交換機組建的局域網(wǎng)使用交換機(Switch)作為中心節(jié)點,將所有計算機和其他設(shè)備連接在一起。交換機具有智能的數(shù)據(jù)包轉(zhuǎn)發(fā)功能,可以根據(jù)設(shè)備的MAC地址來選擇性地將數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)設(shè)備。相比集線器,交換機能夠提供更高的網(wǎng)絡(luò)性能和較低的沖突率。 -
基于交換機和路由器組建:
基于交換機和路由器組建的局域網(wǎng)結(jié)構(gòu)更為復(fù)雜,但也更加靈活和可擴展。交換機用于連接局域網(wǎng)內(nèi)的設(shè)備,而路由器(Router)則用于連接不同的局域網(wǎng)或連接到廣域網(wǎng)。通過路由器,不同的局域網(wǎng)可以相互通信和共享資源。這種方式適用于大型企業(yè)、學(xué)校等需要多個局域網(wǎng)之間進行聯(lián)網(wǎng)的場景。
?名詞解釋:
-
集線器(Hub):
集線器是一種被動式網(wǎng)絡(luò)設(shè)備,可以連接多個計算機或其他網(wǎng)絡(luò)設(shè)備。當(dāng)一個設(shè)備向集線器發(fā)送數(shù)據(jù)時,集線器會將這個數(shù)據(jù)包廣播到所有連接在它上面的設(shè)備,每個設(shè)備都需要檢查MAC地址來判斷數(shù)據(jù)包是否屬于自己。由于集線器采用廣播方式傳輸數(shù)據(jù),因此可能會出現(xiàn)數(shù)據(jù)沖突和重復(fù),影響網(wǎng)絡(luò)性能。 -
交換機(Switch):
交換機是一種智能型網(wǎng)絡(luò)設(shè)備,可以連接多個計算機或其他網(wǎng)絡(luò)設(shè)備,并且能夠根據(jù)MAC地址來選擇性地將數(shù)據(jù)包轉(zhuǎn)發(fā)給目標(biāo)設(shè)備。交換機采用單播方式傳輸數(shù)據(jù),只有目標(biāo)設(shè)備能夠接收到數(shù)據(jù)包,避免了數(shù)據(jù)沖突和重復(fù),提高了網(wǎng)絡(luò)性能。交換機還可以實現(xiàn)虛擬局域網(wǎng)(VLAN)等高級網(wǎng)絡(luò)功能。 -
路由器(Router):
路由器是一種網(wǎng)絡(luò)設(shè)備,用于連接不同的局域網(wǎng)或連接到廣域網(wǎng)。路由器可以根據(jù)IP地址來選擇最佳的數(shù)據(jù)傳輸路徑,實現(xiàn)不同網(wǎng)絡(luò)之間的通信和資源共享。路由器還可以實現(xiàn)端口轉(zhuǎn)發(fā)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等高級網(wǎng)絡(luò)功能。
1.2 廣域網(wǎng)?
廣域網(wǎng)(Wide Area Network,簡稱WAN)通過路由器,將多個局域網(wǎng)連接起來,在物理上組成很?范圍的網(wǎng)絡(luò),就形成了廣域網(wǎng)。廣域網(wǎng)內(nèi)部的局域網(wǎng)都屬于其子網(wǎng)。
2.?IP地址與端口號
網(wǎng)絡(luò)互連的目的是進行網(wǎng)絡(luò)通信,也即是網(wǎng)絡(luò)數(shù)據(jù)傳輸,更具體?點,是網(wǎng)絡(luò)主機中的不同進程間,基于網(wǎng)絡(luò)傳輸數(shù)據(jù)。
那么,在組建的網(wǎng)絡(luò)中,如何判斷到底是從哪臺主機,將數(shù)據(jù)傳輸?shù)侥桥_主機呢?這就需要使用IP地址來標(biāo)識。
IP地址: IP地址是互聯(lián)網(wǎng)中用于標(biāo)識主機(計算機或其他網(wǎng)絡(luò)設(shè)備)的唯一數(shù)字標(biāo)識符。它由32位或128位二進制數(shù)組成,用點分十進制表示(IPv4)或用冒號分隔的十六進制表示(IPv6)。IP地址的作用是在網(wǎng)絡(luò)中準(zhǔn)確定位并尋找目標(biāo)主機。
端口號: 端口號是一種用于標(biāo)識特定應(yīng)用程序或服務(wù)的數(shù)字標(biāo)識符。它是一個16位的整數(shù),范圍從0到65535,被分為三個范圍:知名端口(0-1023),注冊端口(1024-49151)和動態(tài)/私有端口(49152-65535)。通過端口號,計算機可以將接收到的數(shù)據(jù)包交給正確的應(yīng)用程序或進程。
3. 協(xié)議
有了IP地址和端口號,可以定位到網(wǎng)絡(luò)中唯?的?個進程,但還存在?個問題,網(wǎng)絡(luò)通信是基于二進制0/1數(shù)據(jù)來傳輸,如何告訴對方發(fā)送的數(shù)據(jù)是什么樣的呢?網(wǎng)絡(luò)通信傳輸?shù)臄?shù)據(jù)類型可能有多種:圖片,視頻,文本等。同?個類型的數(shù)據(jù),格式可能也不同,如發(fā)送?個文本字符串“好!”:如何標(biāo)識發(fā)送的數(shù)據(jù)是文本類型,及文本的編碼格式呢?基于網(wǎng)絡(luò)數(shù)據(jù)傳輸,需要使用協(xié)議來規(guī)定雙方的數(shù)據(jù)格式。
3.1 概念?
協(xié)議,網(wǎng)絡(luò)協(xié)議的簡稱,網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)通信(即網(wǎng)絡(luò)數(shù)據(jù)傳輸)經(jīng)過的所有網(wǎng)絡(luò)設(shè)備都必須共同遵從的?組約定、規(guī)則。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。協(xié)議(protocol)最終體現(xiàn)為在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式。
3.2 協(xié)議分層
協(xié)議分層是指將計算機網(wǎng)絡(luò)通信過程劃分為若干個層次,每個層次負責(zé)不同的功能,各層之間通過協(xié)議進行交互和傳輸,最終完成數(shù)據(jù)的傳輸和接收。協(xié)議分層的主要作用包括以下幾點:
- 簡化網(wǎng)絡(luò)設(shè)計和管理:通過將網(wǎng)絡(luò)通信過程劃分為多個層次,可以將網(wǎng)絡(luò)復(fù)雜度降低為多個簡單的組件,便于網(wǎng)絡(luò)的設(shè)計、實現(xiàn)和管理。
- 促進協(xié)議的標(biāo)準(zhǔn)化:每個層次負責(zé)不同的功能,不同層次的協(xié)議可以獨立地設(shè)計和優(yōu)化,有助于促進協(xié)議的標(biāo)準(zhǔn)化和統(tǒng)一。
- 提高網(wǎng)絡(luò)的可靠性和性能:通過分層設(shè)計,可以使網(wǎng)絡(luò)設(shè)備不同層次之間的交互更加清晰和明確,有助于提高網(wǎng)絡(luò)的可靠性和性能。
- 支持靈活的網(wǎng)絡(luò)架構(gòu):協(xié)議分層可以支持不同類型的網(wǎng)絡(luò)架構(gòu),例如星型網(wǎng)絡(luò)、環(huán)形網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)等,使網(wǎng)絡(luò)更加靈活和可擴展。
3.3 OSI七層模型
?OSI(Open Systems Interconnection)七層模型是國際標(biāo)準(zhǔn)化組織(ISO)制定的通信協(xié)議參考模型,用于描述計算機網(wǎng)絡(luò)中不同層次之間的功能和交互關(guān)系。該模型將計算機網(wǎng)絡(luò)通信過程劃分為七個層次,每個層次負責(zé)不同的功能。以下是對每個層次的詳細介紹:
- 應(yīng)用層(Application Layer):
功能:為用戶提供網(wǎng)絡(luò)服務(wù)和應(yīng)用程序接口。
特點:包括各種應(yīng)用協(xié)議(如HTTP、FTP、SMTP等),實現(xiàn)用戶與網(wǎng)絡(luò)之間的交互。 - 表示層(Presentation Layer):
功能:處理數(shù)據(jù)的格式和表示,實現(xiàn)數(shù)據(jù)的加密、壓縮和轉(zhuǎn)換。
特點:提供數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)加密和數(shù)據(jù)壓縮等功能。 - 會話層(Session Layer):
功能:建立、管理和終止會話,實現(xiàn)進程之間的通信和同步。
特點:提供會話控制、對話管理和同步點等。 - 傳輸層(Transport Layer):
功能:提供端到端的可靠數(shù)據(jù)傳輸和錯誤恢復(fù)機制。
特點:定義了傳輸協(xié)議(如TCP和UDP),實現(xiàn)數(shù)據(jù)分段、流量控制和擁塞控制。 - 網(wǎng)絡(luò)層(Network Layer):
功能:實現(xiàn)不同網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸和路由選擇。
特點:通過IP地址標(biāo)識設(shè)備和網(wǎng)絡(luò),使用路由算法選擇最佳路徑進行數(shù)據(jù)傳輸。 - 數(shù)據(jù)鏈路層(Data Link Layer):
功能:提供可靠的數(shù)據(jù)傳輸,將比特流劃分為數(shù)據(jù)幀,并進行差錯檢測和糾正。
特點:定義了數(shù)據(jù)幀的結(jié)構(gòu)、物理地址(MAC地址)和幀同步等。 - 物理層(Physical Layer):
功能:負責(zé)傳輸比特流,通過物理介質(zhì)傳輸數(shù)據(jù)。
特點:定義了物理接口的標(biāo)準(zhǔn)和電氣特性,例如傳輸速率、電壓等。
OSI七層模型提供了一個通用的框架,可以幫助理解和設(shè)計計算機網(wǎng)絡(luò)中不同層次的功能和交互關(guān)系。每個層次都有自己獨特的責(zé)任和功能,通過協(xié)議在不同層次之間進行交互和傳輸,最終完成數(shù)據(jù)的傳輸和應(yīng)用。?
3.4 TCP/IP 五層模型
OSI七層模型既復(fù)雜又不實用,所以O(shè)SI七層模型沒有落地、實現(xiàn)。實際組建網(wǎng)絡(luò)時,只是以O(shè)SI七層模型設(shè)計中的部分分層,即TCP/IP五層模型來實現(xiàn)。
?
TCP/IP是?組協(xié)議的代名詞,它還包括許多協(xié)議,組成了TCP/IP協(xié)議簇。
TCP/IP通訊協(xié)議采?了5層的層級結(jié)構(gòu),每?層都呼叫它的下?層所提供的網(wǎng)絡(luò)來完成自己的需求。
- 應(yīng)用層:負責(zé)應(yīng)用程序間溝通,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠程訪問協(xié)議(Telnet)等。我們的網(wǎng)絡(luò)編程主要就是針對應(yīng)用層。(管理傳輸?shù)臄?shù)據(jù)使用)
- 傳輸層:負責(zé)兩臺主機之間的數(shù)據(jù)傳輸。如傳輸控制協(xié)議(TCP),能夠確保數(shù)據(jù)可靠地從源主機發(fā)送到目標(biāo)主機。(管理通信的起點終點)
- 網(wǎng)絡(luò)層:負責(zé)地址管理和路由選擇。例如在IP協(xié)議中,通過IP地址來標(biāo)識一臺主機,并通過路由表的方式規(guī)劃出兩臺主機之間的數(shù)據(jù)傳輸?shù)木€路(路由)。路由器(Router)工作在網(wǎng)絡(luò)層。(管理通信中的路線規(guī)劃)
- 數(shù)據(jù)鏈路層:負責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別。例如網(wǎng)卡設(shè)備的驅(qū)動、幀同步(就是說從網(wǎng)線上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到?jīng)_突就自動重發(fā))、數(shù)據(jù)差錯校驗等工作。有以太網(wǎng)、令牌環(huán)網(wǎng),無線LAN等標(biāo)準(zhǔn)。交換機(Switch)工作在數(shù)據(jù)鏈路層。(管理相鄰節(jié)點之間的通信)
- 物理層:負責(zé)光/電信號的傳遞方式。比如現(xiàn)在以太網(wǎng)通用的網(wǎng)線(雙絞線)、早期以太網(wǎng)采用的同軸電纜(現(xiàn)在主要用于有線電視)、光纖,現(xiàn)在的Wi-Fi無線網(wǎng)使用電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等。集線器(Hub)工作在物理層。(網(wǎng)絡(luò)通信的基礎(chǔ)設(shè)施)
?絡(luò)設(shè)備所在分層:
- 對于?臺主機,它的操作系統(tǒng)內(nèi)核實現(xiàn)了從傳輸層到物理層的內(nèi)容,也即是TCP/IP五層模型的四層;
- 對于?臺路由器,它實現(xiàn)了從?絡(luò)層到物理層,也即是TCP/IP五層模型的下三層。
- 對于?臺交換機,它實現(xiàn)了從數(shù)據(jù)鏈路層到物理層,也即是TCP/IP五層模型的下兩層。
- 對于集線器,它只實現(xiàn)了物理層。
注意我們這里說的是傳統(tǒng)意義上的交換機和路由器,也稱為二層交換機(工作在TCP/IP五層模型的下兩層)、三層路由器(工作在TCP/IP五層模型的下三層)。
隨著現(xiàn)在網(wǎng)絡(luò)設(shè)備技術(shù)的不斷發(fā)展,也出現(xiàn)了很多三層或四層交換機、四層路由器。我們以下說的網(wǎng)絡(luò)設(shè)備都是傳統(tǒng)意義上的交換機和路由器。
3.5?封裝和分用
不同的協(xié)議層對數(shù)據(jù)包有不同的稱謂,在傳輸層叫做段(segment),在網(wǎng)絡(luò)層叫做數(shù)據(jù)報(datagram),在鏈路層叫做幀(frame)。應(yīng)用層數(shù)據(jù)通過協(xié)議棧發(fā)到網(wǎng)絡(luò)上時,每層協(xié)議都要加上一個數(shù)據(jù)首部(header),稱為封裝(Encapsulation)。首部信息中包含了一些類似于首部有多長,載荷(payload)有多長,上層協(xié)議是什么等信息。數(shù)據(jù)封裝成幀后發(fā)到傳輸介質(zhì)上,到達目的主機后每層協(xié)議再剝掉相應(yīng)的首部,根據(jù)首部中的"上層協(xié)議字段"將數(shù)據(jù)交給對應(yīng)的上層協(xié)議處理。
接下來簡單模擬一下數(shù)據(jù)的封裝分用的過程:
假設(shè)場景:A 通過 QQ 給 B 發(fā)送了一個hello
1. 應(yīng)用層:
QQ接收到A輸入的hello,就會把這個字符串按照構(gòu)QQ內(nèi)部的應(yīng)用層協(xié)議造成一個應(yīng)用層的數(shù)據(jù)包,這個數(shù)據(jù)包的格式就是這個協(xié)議約定好了的。(應(yīng)用層的協(xié)議往往是程序員自己定義的)
現(xiàn)在我們假設(shè)這個格式為:發(fā)送方QQ號;接收方QQ號;發(fā)送時間;發(fā)送內(nèi)容。
于是就可以構(gòu)造出數(shù)據(jù)包:1234;5678;2024/01/20 15:20;hello
接下來應(yīng)用程序就會調(diào)用操作系統(tǒng)提供的API把這個數(shù)據(jù)交給傳輸層。
2. 傳輸層:
傳輸層會把接收到的數(shù)據(jù)包,看作一個整體再構(gòu)造成一個傳輸層的數(shù)據(jù)包。傳輸層涉及到的主要協(xié)議有 TCP和UDP(后續(xù)會詳細說明),這里假定使用UDP來通信,這里就會構(gòu)成一個UDP的數(shù)據(jù)包。
?編輯
UDP報頭提供了源端口號,目的端口號,長度,校驗等重要信息。
構(gòu)建好數(shù)據(jù)包之后,就會調(diào)用下一層協(xié)議即網(wǎng)絡(luò)層提供的API把這個數(shù)據(jù)包交給網(wǎng)絡(luò)層了。
3. 網(wǎng)絡(luò)層
網(wǎng)絡(luò)層的核心協(xié)議是IP協(xié)議
同樣的,這里以IP協(xié)議,再把接收到的數(shù)據(jù)包整體作為一個載荷,拼接上IP協(xié)議的報頭,構(gòu)造成 IP數(shù)據(jù)包。 ?編輯
IP報頭中包含了源IP地址和目的IP地址,用于唯一標(biāo)識數(shù)據(jù)的發(fā)送方和接收方
然后IP協(xié)議調(diào)用數(shù)據(jù)鏈路層的API把數(shù)據(jù)交給數(shù)據(jù)鏈路層。
4. 數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層涉及到的核心協(xié)議是 以太網(wǎng)
這里會把接收到的數(shù)據(jù)包看作整體拼接上一個幀頭和幀尾,構(gòu)成一個以太網(wǎng)數(shù)據(jù)幀。 ?編輯
最后把這個數(shù)據(jù)幀交給物理層
5. 物理層
把以太網(wǎng)數(shù)據(jù)幀的二進制信號轉(zhuǎn)換為 光信號/電信號/電磁波 發(fā)送出去
不考慮中間過程,假設(shè)B的網(wǎng)卡已經(jīng)接收到了數(shù)據(jù),這個數(shù)據(jù)需要處理后才能呈現(xiàn)出來,這個處理的過程就叫分用。
1. B的物理層接收到了光信號/電信號/電磁波,就會把這些數(shù)據(jù)轉(zhuǎn)為數(shù)字信號,(二進制)得到一個以太網(wǎng)數(shù)據(jù)幀,進一步把這個數(shù)據(jù)幀交給數(shù)據(jù)鏈路層處理
2. 數(shù)據(jù)鏈路層按照以太網(wǎng)數(shù)據(jù)包的格式解析出其中的載荷,再交給上層協(xié)議,即網(wǎng)絡(luò)層
3. 網(wǎng)絡(luò)層同樣按照IP協(xié)議的格式進行解析,取出載荷再交給上層協(xié)議
4.傳輸層同樣按照UDP協(xié)議解析出載荷交給應(yīng)用層
5.應(yīng)用層就按照內(nèi)部的協(xié)議解析出了數(shù)據(jù),在B的聊天窗口中彈出消息和時間
分用的過程就是封裝的逆向過程文章來源:http://www.zghlxwxcb.cn/news/detail-821457.html
?
到了這里,關(guān)于計算機網(wǎng)絡(luò)基礎(chǔ)概念解釋的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!