目錄
1.ip地址和端口號
1.1IP地址
1.2端口號
2.認(rèn)識協(xié)議
2.1概念:
2.2知名協(xié)議的默認(rèn)端口
3.五元組
4.協(xié)議分層
4.1分層的作用
4.2OSI七層模型
4.3TCP/IP五層(四層)模型
?編輯4.4網(wǎng)絡(luò)設(shè)備對應(yīng)的分層:
?編輯以下為跨網(wǎng)段的主機(jī)的文件傳輸:數(shù)據(jù)從一臺計(jì)算機(jī)到另一臺計(jì)算機(jī)傳輸過程中要經(jīng)過一個或多個路由器?編輯4.5封裝和分用
1.ip地址和端口號
1.1IP地址
在計(jì)算機(jī)網(wǎng)絡(luò)中,IP地址是一個很重要的概念,它是用來標(biāo)識網(wǎng)絡(luò)主機(jī),其它網(wǎng)絡(luò)設(shè)備(如:路由器)的網(wǎng)絡(luò)地址。簡單來說,IP地址用于定位主機(jī)的網(wǎng)絡(luò)地址。
各式:我們一般常用的IP地址的ipv4格式的IP地址,它是一個32位的二進(jìn)制數(shù)字。通常被分割為4個八位二進(jìn)制樹,但我們?yōu)榱吮硎痉奖?,通常會使用點(diǎn)分十進(jìn)制來表示。如:
192.168.1.1
特殊ip:127.0.0.1 本機(jī)環(huán)回。主要用到本機(jī)和本機(jī)的網(wǎng)絡(luò)通信(系統(tǒng)內(nèi)部為了測試性能用到的。不會走網(wǎng)絡(luò)的方式傳輸),在我們后續(xù)編程的時候,這是常見的開發(fā)方式。
1.2端口號
在通信子網(wǎng)中,IP地址用于表示主機(jī)網(wǎng)絡(luò)地址,端口號可以表示主機(jī)發(fā)送,接受數(shù)據(jù)的進(jìn)程。簡單通俗易懂的話來說:端口號就是標(biāo)識主機(jī)中的進(jìn)程。
格式:端口號是兩個字節(jié),也就是0-65536范圍內(nèi)的數(shù)字,但是一般來說 0-1024這些端口是知名端口,如https這些。我們在使用的時候也不用,所以我們使用的端口就是1025-65535這些。
兩個不同的進(jìn)程不能綁定同一個端口,而一個進(jìn)程可以綁定多個端口。
注:如何去理解端口和IP地址,就好比在買快遞的時候IP地址是是你家小區(qū)的地址,而端口號是你的手機(jī)號碼,通過IP地址找到你家小區(qū),在通過手機(jī)號碼精準(zhǔn)定位到個人。一個人可以有多個手機(jī)號碼(端口號),而一個手機(jī)號碼不能被多個人使用。
2.認(rèn)識協(xié)議
2.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ī)則。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計(jì)算機(jī)之間才能相互通信交流。通常由三要素組成 語法,語義,時序。
?
1. 語法:即數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式;
類似打電話時,雙方要使用同樣的語言:普通話
2. 語義:即需要發(fā)出何種控制信息,完成何種動作以及做出何種響應(yīng);
語義主要用來說明通信雙方應(yīng)當(dāng)怎么做。用于協(xié)調(diào)與差錯處理的控制信息。
類似打電話時,說話的內(nèi)容。一方道:你瞅啥?另一方就得有對應(yīng)的響應(yīng):瞅你咋的!
3. 時序,即事件實(shí)現(xiàn)順序的詳細(xì)說明。
時序定義了何時進(jìn)行通信,先講什么,后講什么,講話的速度等。比如是采用同步傳輸還是
異步傳輸。
女生和男生的通話,總是由男生主動發(fā)起通話,而總是在男生戀戀不舍的時候,由女生要求
結(jié)束通話
協(xié)議(protocol)最終體現(xiàn)為在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式
就好比我去相親的時候,提前對好暗號。天王蓋地虎,小雞燉蘑菇。這種就叫協(xié)議。是一種提前的約定。
2.2知名協(xié)議的默認(rèn)端口
系統(tǒng)的端口范圍是0-65535,而0-1024是知名端口。這些端口是留給服務(wù)端程序綁定廣泛使用的應(yīng)用層協(xié)議。如:
22端口:預(yù)留給SSH服務(wù)器綁定SSH協(xié)議
21端口:預(yù)留給FTP服務(wù)器綁定FTP協(xié)議
23端口:預(yù)留給Telnet服務(wù)器綁定Telnet協(xié)議
80端口:預(yù)留給HTTP服務(wù)器綁定HTTP協(xié)議
443端口:預(yù)留給HTTPS服務(wù)器綁定HTTPS協(xié)議
以上只是說明這些端口號用于綁定知名協(xié)議,但是某個服務(wù)器也可以使用1024-65535范圍內(nèi)的端口來綁定知名協(xié)議。
3.五元組
在TCP/IP協(xié)議中,用五元組來標(biāo)識一個網(wǎng)絡(luò)通信:
1.源IP:標(biāo)識源主機(jī)
2.源端口號:表示源進(jìn)程 發(fā)送數(shù)據(jù)的進(jìn)程
3 目的IP 表示目的主機(jī)
4 目的端口號:標(biāo)識目的進(jìn)程,即接受數(shù)據(jù)的進(jìn)程
5 協(xié)議號:標(biāo)識發(fā)送進(jìn)程和接受進(jìn)程雙方約定的數(shù)據(jù)格式
4.協(xié)議分層
為了方便我們理解以及更方便,分工明確的網(wǎng)絡(luò)通信。我們把網(wǎng)絡(luò)協(xié)議氛圍好幾個層次來定義。
常見的有OSI七層網(wǎng)絡(luò)協(xié)議,還有TCP/IP五層網(wǎng)絡(luò)協(xié)議(有的教科書上說是四層,四層的忽略掉了物理層)
4.1分層的作用
為什么需要網(wǎng)絡(luò)協(xié)議的分層?
分層最大的好處,類似于面向接口編程:定義好兩層間的接口規(guī)范,讓雙方遵循這個規(guī)范來對接。
在代碼中,類似于定義好一個接口,一方為接口的實(shí)現(xiàn)類(提供方,提供服務(wù)),一方為接口的使用類
(使用方,使用服務(wù)):
對于使用方來說,并不關(guān)心提供方是如何實(shí)現(xiàn)的,只需要使用接口即可
對于提供方來說,利用封裝的特性,隱藏了實(shí)現(xiàn)的細(xì)節(jié),只需要開放接口即可。
這樣能更好的擴(kuò)展和維護(hù),如下圖
4.2OSI七層模型
OSI 七層網(wǎng)絡(luò)模型是一個邏輯上的定義和規(guī)范:把網(wǎng)絡(luò)從邏輯上分為了7層。
OSI 七層模型是一種框架性的設(shè)計(jì)方法,其最主要的功能使就是幫助不同類型的主機(jī)實(shí)現(xiàn)數(shù)據(jù)傳
輸;
它的最大優(yōu)點(diǎn)是將服務(wù)、接口和協(xié)議這三個概念明確地區(qū)分開來,概念清楚,理論也比較完整。通
過七個層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實(shí)現(xiàn)可靠的通訊。
?
OSI 七層模型既復(fù)雜又不實(shí)用:所以 OSI 七層模型沒有落地、實(shí)現(xiàn)。
實(shí)際組建網(wǎng)絡(luò)時,只是以 OSI 七層模型設(shè)計(jì)中的部分分層,也即是以下 TCP/IP 五層(或四層)模型來實(shí)現(xiàn)
4.3TCP/IP五層(四層)模型
TCP/IP通訊協(xié)議采用了五層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。
應(yīng)用層:負(fù)責(zé)應(yīng)用程序之間的溝通,在運(yùn)行在主機(jī)的時候,程序會變成進(jìn)程,會有很多應(yīng)用層協(xié)議來規(guī)范各應(yīng)用層之間的通信。如:,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。我們的網(wǎng)絡(luò)編程主要就是針對應(yīng)用層
傳輸層:負(fù)責(zé)兩臺主機(jī)的數(shù)據(jù)傳輸,如傳輸控制協(xié)議(TCP).能夠確保數(shù)據(jù)可靠的從源主機(jī)發(fā)送到目標(biāo)主機(jī)。
網(wǎng)絡(luò)層:負(fù)責(zé)地址管理和路由選擇,例如在IP協(xié)議中,通過IP地址來標(biāo)識一臺主機(jī),并通過路由表的方式來規(guī)劃出兩臺主機(jī)之間數(shù)據(jù)傳輸?shù)暮侠砺肪€,路由器就是在網(wǎng)絡(luò)層工作的。
數(shù)據(jù)鏈路層:只關(guān)心相鄰設(shè)備之間數(shù)據(jù)的傳輸。負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別。例如網(wǎng)卡設(shè)備的驅(qū)動、幀同步(就是說從網(wǎng)線
上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到?jīng)_突就自動重發(fā))、數(shù)據(jù)差錯校驗(yàn)等工
作。有以太網(wǎng)、令牌環(huán)網(wǎng),無線LAN等標(biāo)準(zhǔn)。交換機(jī)(Switch)工作在數(shù)據(jù)鏈路層
物理層:負(fù)責(zé)光/電信號的傳遞方式,比如現(xiàn)在的以太網(wǎng)通用的網(wǎng)線,早期以太網(wǎng)采用的同軸光纜,光纖。以及WiFi無線網(wǎng)使用電磁波都屬于物理層的概念。
4.4網(wǎng)絡(luò)設(shè)備對應(yīng)的分層:
對于一臺主機(jī),它的操作系統(tǒng)內(nèi)核實(shí)現(xiàn)了從傳輸層到物理層的內(nèi)容,也就是TCP/IP五層模型的下四層
對于路由器,它工作在網(wǎng)絡(luò)層,實(shí)現(xiàn)了網(wǎng)絡(luò)層到物理層,也就是下三層
對于一臺交換機(jī),它實(shí)現(xiàn)了從數(shù)據(jù)鏈路層到物理層,也即是TCP/IP五層模型的下兩層;
對于集線器,它只實(shí)現(xiàn)了物理層
注意我們這里說的是傳統(tǒng)意義上的交換機(jī)和路由器,也稱為二層交換機(jī)(工作在TCP/IP五層模型的下兩層)、三層路由器(工作在TCP/IP五層模型的下三層)。
隨著現(xiàn)在網(wǎng)絡(luò)設(shè)備技術(shù)的不斷發(fā)展,也出現(xiàn)了很多3層或4層交換機(jī),4層路由器。我們以下說的網(wǎng)絡(luò)設(shè)備都是傳統(tǒng)意義上的交換機(jī)和路由器
?
4.5網(wǎng)絡(luò)分層對飲的協(xié)議
以下為跨網(wǎng)段的主機(jī)的文件傳輸:數(shù)據(jù)從一臺計(jì)算機(jī)到另一臺計(jì)算機(jī)傳輸過程中要經(jīng)過一個或多個路由器
4.5封裝和分用
不同的協(xié)議層對數(shù)據(jù)包有不同的稱謂,在傳輸層叫做段(segment),在網(wǎng)絡(luò)層叫做數(shù)據(jù)報(bào)
(datagram),在鏈路層叫做幀(frame)。應(yīng)用層數(shù)據(jù)通過協(xié)議棧發(fā)到網(wǎng)絡(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ù)封裝的過程:
注意,這些都是類似于字符串拼接的過程。
下面為數(shù)據(jù)奮用的過程:文章來源:http://www.zghlxwxcb.cn/news/detail-821393.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-821393.html
到了這里,關(guān)于[計(jì)算機(jī)網(wǎng)絡(luò)]基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!