? 作者:小胡_不糊涂
?? 作者主頁:小胡_不糊涂的個人主頁
?? 收錄專欄:JavaEE
?? 持續(xù)更文,關(guān)注博主少走彎路,謝謝大家支持 ??
前言
早起的計算機(jī)之間是相互獨(dú)立的,隨著時代的發(fā)展,計算機(jī)實(shí)現(xiàn)了互相通信,共享軟件和數(shù)據(jù),即以多個計算機(jī)協(xié)同?作來完成業(yè)務(wù),就有了?絡(luò)互連(多臺計算機(jī)連接在?起,完成數(shù)據(jù)共享)。
數(shù)據(jù)共享本質(zhì)是?絡(luò)數(shù)據(jù)傳輸,即計算機(jī)之間通過?絡(luò)來傳輸數(shù)據(jù),也稱為?絡(luò)通信。
根據(jù)?絡(luò)互連的規(guī)模不同,可以劃分為局域網(wǎng)(Local Area Network,簡稱LAN)和廣域網(wǎng)( Wide Area Network,簡稱WAN)。
1. IP地址
概念:
IP地址主要?于標(biāo)識?絡(luò)主機(jī)、其他?絡(luò)設(shè)備(如路由器)的?絡(luò)地址。簡單說,IP地址?于定位主機(jī)的?絡(luò)地址。
格式:
IP地址是?個32位的?進(jìn)制數(shù),通常被分割為4個“8位?進(jìn)制數(shù)”(也就是4個字節(jié)),如:01100100.00000100.00000101.00000110。
通常?“點(diǎn)分?進(jìn)制”的?式來表?,即 a.b.c.d 的形式(a,b,c,d都是0~255之間的?進(jìn)制整數(shù))。如:100.4.5.6。
在CMD中輸入ipconfig
就可以查看計算機(jī)IP地址 。
2. 端口號
概念:
在?絡(luò)通信中,IP地址?于標(biāo)識主機(jī)?絡(luò)地址,端?號可以標(biāo)識主機(jī)中發(fā)送數(shù)據(jù)、接收數(shù)據(jù)的進(jìn)程。
簡單說:端?號?于定位主機(jī)中的進(jìn)程,區(qū)分一個主機(jī)上不同的應(yīng)用程序。不同的程序綁定到不同的端口號,一個端口號只能被一個程序綁定,但是一個程序可以綁定多個端口。
格式:
端?號是0~65535范圍的數(shù)字,在?絡(luò)通信中,進(jìn)程可以通過綁定?個端?號,來發(fā)送及接收?絡(luò)數(shù)據(jù)。
3. 協(xié)議
有了IP地址和端?號,可以定位到?絡(luò)中唯?的?個進(jìn)程,但還存在?個問題,?絡(luò)通信是基于?進(jìn)制0/1數(shù)據(jù)來傳輸,如何告訴對?發(fā)送的數(shù)據(jù)是什么樣的呢?
基于?絡(luò)數(shù)據(jù)傳輸,需要使?協(xié)議來規(guī)定雙?的數(shù)據(jù)格式。
概念:
協(xié)議,?絡(luò)協(xié)議的簡稱,?絡(luò)協(xié)議是?絡(luò)通信(即?絡(luò)數(shù)據(jù)傳輸)經(jīng)過的所有?絡(luò)設(shè)備都必須共同遵從的?組約定、規(guī)則。如怎么樣建?連接、怎么樣互相識別等。只有遵守這個約定,計算機(jī)之間才能相互通信交流。
協(xié)議(protocol)最終體現(xiàn)為在?絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式。
五元組:
在TCP/IP協(xié)議中,?五元組來標(biāo)識?個?絡(luò)通信:
- 源IP:標(biāo)識源主機(jī)
- 源端?號:標(biāo)識源主機(jī)中該次通信發(fā)送數(shù)據(jù)的進(jìn)程
- ?的IP:標(biāo)識?的主機(jī)
- ?的端?號:標(biāo)識?的主機(jī)中該次通信接收數(shù)據(jù)的進(jìn)程
- 協(xié)議號:標(biāo)識發(fā)送進(jìn)程和接收進(jìn)程雙?約定的數(shù)據(jù)格式
在CMD中,可以輸?netstat -ano
查看?絡(luò)數(shù)據(jù)傳輸中的五元組信息。
4. 協(xié)議分層
實(shí)際中的?絡(luò)通信是很復(fù)雜的,所以需要分更多的層次來完成交互。
分層最?的好處,類似于?向接?編程:定義好兩層間的接?規(guī)范,讓雙?遵循這個規(guī)范來對接。在代碼中,類似于定義好?個接?,??為接?的實(shí)現(xiàn)類(提供?,提供服務(wù)),??為接?的使?類(使??,使?服務(wù)):
- 對于使??來說,并不關(guān)?提供?是如何實(shí)現(xiàn)的,只需要使?接?即可
- 對于提供?來說,利?封裝的特性,隱藏了實(shí)現(xiàn)的細(xì)節(jié),只需要開放接?即可
5. OSI七層模型
OSI:即Open System Interconnection,開放系統(tǒng)互連
- OSI 七層?絡(luò)模型是?個邏輯上的定義和規(guī)范:把?絡(luò)從邏輯上分為了7層。
- OSI 七層模型是?種框架性的設(shè)計?法,其最主要的功能使就是幫助不同類型的主機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸.
分層名稱 | 功能 | |
---|---|---|
7 | 應(yīng)用層 | 針對特定應(yīng)用的協(xié)議。 |
6 | 表示層 | 設(shè)備固有數(shù)據(jù)格式和網(wǎng)絡(luò)標(biāo)準(zhǔn)數(shù)據(jù)格式的轉(zhuǎn)換。 |
5 | 會話層 | 通信管理。負(fù)責(zé)建立和斷開通信連接(數(shù)據(jù)流動的邏輯通路)。管理傳輸層以下的分層。 |
4 | 傳輸層 | 管理兩個節(jié)點(diǎn)"之間的數(shù)據(jù)傳輸。負(fù)責(zé)可靠傳輸(確保數(shù)據(jù)被可靠地傳送到目標(biāo)地址)。 |
3 | 網(wǎng)絡(luò)層 | 地址管理與路由選擇。 |
2 | 數(shù)據(jù)鏈路層 | 互聯(lián)設(shè)備之間傳送和識別數(shù)據(jù)幀。 |
1 | 物理層 | 以“0”“1” 代表電壓的高低、燈光的閃滅。界定連接器和網(wǎng)線的規(guī)格。 |
在實(shí)際組建?絡(luò)時,只是以 OSI 七層模型設(shè)計中的部分分層,也即是以下 TCP/IP 五層(或四層)模型來實(shí)現(xiàn)。
6. TCP/IP五層模型
TCP/IP是?組協(xié)議的代名詞,它還包括許多協(xié)議,組成了TCP/IP協(xié)議簇。
TCP/IP通訊協(xié)議采?了5層的層級結(jié)構(gòu),每?層都呼叫它的下?層所提供的?絡(luò)來完成??的需求。
- 應(yīng)?層:負(fù)責(zé)應(yīng)?程序間溝通,如簡單電?郵件傳輸(SMTP)、?件傳輸協(xié)議(FTP)、?絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。我們的?絡(luò)編程主要就是針對應(yīng)?層。
- 傳輸層:負(fù)責(zé)兩臺主機(jī)之間的數(shù)據(jù)傳輸。如傳輸控制協(xié)議 (TCP),能夠確保數(shù)據(jù)可靠的從源主機(jī)發(fā)送到?標(biāo)主機(jī)。
- ?絡(luò)層:負(fù)責(zé)地址管理和路由選擇。例如在IP協(xié)議中,通過IP地址來標(biāo)識?臺主機(jī),并通過路由表的?式規(guī)劃出兩臺主機(jī)之間的數(shù)據(jù)傳輸?shù)木€路(路由)。路由器(Router)?作在?路層。
-
數(shù)據(jù)鏈路層:負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別。例如?卡設(shè)備的驅(qū)動、幀同步(就是說從?線上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到?jīng)_突就?動重發(fā))、數(shù)據(jù)差錯校驗等?作。
有以太?、令牌環(huán)?,?線LAN等標(biāo)準(zhǔn)。交換機(jī)(Switch)?作在數(shù)據(jù)鏈路層。 - 物理層:負(fù)責(zé)光/電信號的傳遞?式。?如現(xiàn)在以太?通?的?線(雙絞線)、早期以太?采?的的同軸電纜(現(xiàn)在主要?于有線電視)、光纖,現(xiàn)在的wifi?線?使?電磁波等都屬于物理層的概念。物理層的能?決定了最?傳輸速率、傳輸距離、抗?擾性等。集線器(Hub)?作在物理層。
?絡(luò)設(shè)備所在分層:
- 對于?臺主機(jī),它的操作系統(tǒng)內(nèi)核實(shí)現(xiàn)了從傳輸層到物理層的內(nèi)容,也即是TCP/IP五層模型的下四層;
- 對于?臺路由器,它實(shí)現(xiàn)了從?絡(luò)層到物理層,也即是TCP/IP五層模型的下三層;
- 對于?臺交換機(jī),它實(shí)現(xiàn)了從數(shù)據(jù)鏈路層到物理層,也即是TCP/IP五層模型的下兩層;
- 對于集線器,它只實(shí)現(xiàn)了物理層;
傳統(tǒng)意義上的交換機(jī)和路由器,也稱為?層交換機(jī)(?作在TCP/IP五層模型的下兩層)、三層路由器(?作在TCP/IP五層模型的下三層)。
隨著現(xiàn)在?絡(luò)設(shè)備技術(shù)的不斷發(fā)展,也出現(xiàn)了很多3層或4層交換機(jī),4層路由器。
7. 封裝和分用
- 不同的協(xié)議層對數(shù)據(jù)包有不同的稱謂,在傳輸層叫做段(segment),在?絡(luò)層叫做數(shù)據(jù)報
(datagram),在鏈路層叫做幀(frame)。- 應(yīng)?層數(shù)據(jù)通過協(xié)議棧發(fā)到?絡(luò)上時,每層協(xié)議都要加上?個數(shù)據(jù)?部(header),稱為封裝
(Encapsulation)。- ?部信息中包含了?些類似于?部有多?,載荷(payload)有多?,上層協(xié)議是什么等信息。
- 數(shù)據(jù)封裝成幀后發(fā)到傳輸介質(zhì)上,到達(dá)?的主機(jī)后每層協(xié)議再剝掉相應(yīng)的?部,根據(jù)?部中的 “上層協(xié)議字段” 將數(shù)據(jù)交給對應(yīng)的上層協(xié)議處理。
下圖為數(shù)據(jù)封裝的過程:
文章來源:http://www.zghlxwxcb.cn/news/detail-799918.html
下圖為數(shù)據(jù)分用的過程:文章來源地址http://www.zghlxwxcb.cn/news/detail-799918.html
到了這里,關(guān)于網(wǎng)絡(luò)中的基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!