網(wǎng)絡(luò)互連就是將多臺(tái)計(jì)算機(jī)連接在一起,完成數(shù)據(jù)共享。數(shù)據(jù)共享本質(zhì)是網(wǎng)絡(luò)數(shù)據(jù)傳輸,即計(jì)算機(jī)之間通過網(wǎng)絡(luò)來傳輸數(shù)據(jù),也稱為網(wǎng)絡(luò)通信。根據(jù)網(wǎng)絡(luò)互連的規(guī)模不同,可以劃分為局域網(wǎng)和廣域網(wǎng)。
局域網(wǎng)LAN
局域網(wǎng),即 Local Area Network,簡稱LAN。Local 即標(biāo)識(shí)了局域網(wǎng)是本地,局部組建的一種私有網(wǎng)絡(luò)。局域網(wǎng)內(nèi)的主機(jī)之間能方便的進(jìn)行網(wǎng)絡(luò)通信,又稱為內(nèi)網(wǎng);局域網(wǎng)和局域網(wǎng)之間在沒有連接的情況下,是無法通信的。局域網(wǎng)組建網(wǎng)絡(luò)的方式有很多種:
基于網(wǎng)線直連
基于集線器組建
基于交換機(jī)組建
基于交換機(jī)和路由器組建
廣域網(wǎng)WAN
廣域網(wǎng),即 Wide Area Network,簡稱WAN。通過路由器,將多個(gè)局域網(wǎng)連接起來,在物理上組成很大范圍的網(wǎng)絡(luò),就形成了廣域網(wǎng)。廣域網(wǎng)內(nèi)部的局域網(wǎng)都屬于其子網(wǎng)。
IP地址
IP地址用于定位主機(jī)的網(wǎng)絡(luò)地址。也就是說IP地址描述了一個(gè)設(shè)備在網(wǎng)絡(luò)上的地址。IP地址是一個(gè)32位的二進(jìn)制數(shù),通常被分割為4個(gè)“8位二進(jìn)制數(shù)”(也就是4個(gè)字節(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。
127.* 的IP地址用于本機(jī)環(huán)回(loop back)測試,通常是127.0.0.1本機(jī)環(huán)回主要用于本機(jī)到本機(jī)的網(wǎng)絡(luò)通信(系統(tǒng)內(nèi)部為了性能,不會(huì)走網(wǎng)絡(luò)的方式傳輸),對于開發(fā)網(wǎng)絡(luò)通信的程序(即網(wǎng)絡(luò)編程)而言,常見的開發(fā)方式都是本機(jī)到本機(jī)的網(wǎng)絡(luò)通信。
端口號(hào)
在網(wǎng)絡(luò)通信中,IP地址用于標(biāo)識(shí)主機(jī)網(wǎng)絡(luò)地址,端口號(hào)可以標(biāo)識(shí)主機(jī)中發(fā)送數(shù)據(jù)、接收數(shù)據(jù)的進(jìn)程。簡單說:端口號(hào)用于定位主機(jī)中的進(jìn)程,也就是區(qū)分不同的應(yīng)用程序。端口號(hào)是0~65535范圍的數(shù)字(兩個(gè)字節(jié))。
兩個(gè)不同的進(jìn)程,不能綁定同一個(gè)端口號(hào),但一個(gè)進(jìn)程可以綁定多個(gè)端口號(hào) 。
協(xié)議
協(xié)議是網(wǎng)絡(luò)協(xié)議的簡稱,網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)通信(即網(wǎng)絡(luò)數(shù)據(jù)傳輸)經(jīng)過的所有網(wǎng)絡(luò)設(shè)備都必須共同遵從的一組約定和規(guī)則。如:怎么樣建立連接、怎么樣互相識(shí)別等。只有遵守這個(gè)約定,計(jì)算機(jī)之間才能相互通信交流。通常由三要素組成:
①語法:即數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式
類似打電話時(shí),雙方要使用同樣的語言:普通話
②語義:即需要發(fā)出何種控制信息,完成何種動(dòng)作以及做出何種響應(yīng)
語義主要用來說明通信雙方應(yīng)當(dāng)怎么做。用于協(xié)調(diào)與差錯(cuò)處理的控制信息。類似打電話時(shí),說話的內(nèi)容。
③時(shí)序:即事件實(shí)現(xiàn)順序的詳細(xì)說明
時(shí)序定義了何時(shí)進(jìn)行通信,先講什么,后講什么,講話的速度等。比如是采用同步傳輸還是異步傳輸。
協(xié)議(protocol)最終體現(xiàn)為在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式
為什么要有協(xié)議
計(jì)算機(jī)之間的傳輸媒介是光信號(hào)和電信號(hào)。通過 “頻率” 和 “強(qiáng)弱” 來表示 0 和 1 這樣的信息。要想傳遞各種不同的信息,就需要約定好雙方的數(shù)據(jù)格式。計(jì)算機(jī)生產(chǎn)廠商有很多;計(jì)算機(jī)操作系統(tǒng),也有很多;計(jì)算機(jī)網(wǎng)絡(luò)硬件設(shè)備,還是有很多;如何讓這些不同廠商之間生產(chǎn)的計(jì)算機(jī)能夠相互順暢的通信? 就需要有人站出來,約定一個(gè)共同的標(biāo)準(zhǔn),大家都來遵守,這就是網(wǎng)絡(luò)協(xié)議。
知名協(xié)議的默認(rèn)端口
系統(tǒng)端口號(hào)范圍為 0 ~ 65535,其中:0 ~ 1023 為知名端口號(hào),這些端口預(yù)留給服務(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é)議
注意:以上只是說明 0 ~ 1023 范圍的知名端口號(hào)用于綁定知名協(xié)議,但某個(gè)服務(wù)器也可以使用其他 1024 ~65535 范圍內(nèi)的端口來綁定知名協(xié)議。就像餐廳的VIP包房是給會(huì)員使用,但會(huì)員也可以不坐包房。
五元組
在TCP/IP協(xié)議中,用五元組來標(biāo)識(shí)一個(gè)網(wǎng)絡(luò)通信:
源IP:標(biāo)識(shí)源主機(jī)
源端口號(hào):標(biāo)識(shí)源主機(jī)中該次通信發(fā)送數(shù)據(jù)的進(jìn)程
目的IP:標(biāo)識(shí)目的主機(jī)
目的端口號(hào):標(biāo)識(shí)目的主機(jī)中該次通信接收數(shù)據(jù)的進(jìn)程
協(xié)議號(hào):標(biāo)識(shí)發(fā)送進(jìn)程和接收進(jìn)程雙方約定的數(shù)據(jù)格式
協(xié)議分層
協(xié)議分層就像我們平時(shí)寫代碼一樣,代碼越寫越多越寫越復(fù)雜,這個(gè)時(shí)候就需要把代碼拆成多個(gè)部分,這樣可以使人更容易理解。
網(wǎng)絡(luò)通信的場景非常復(fù)雜,有很多問題就需要協(xié)議來解決,如果搞一個(gè)大的協(xié)議去解決,這樣就很龐大很復(fù)雜,不容易讓人們?nèi)W(xué)習(xí)和理解。但是如果把大的協(xié)議拆成小的,這樣每個(gè)小的協(xié)議就不會(huì)很復(fù)雜。也更容易讓人們學(xué)習(xí)理解。
按照協(xié)議的作用和定位我們約定不同的層次之間的調(diào)用關(guān)系“上層協(xié)議調(diào)用下層協(xié)議”,“下次協(xié)議給上層協(xié)議提供支持“,這樣協(xié)議之間就不容易混亂。
協(xié)議分層之后,上層和下層之間就進(jìn)行了封裝,使用上層協(xié)議不必過多關(guān)注下層協(xié)議,使用下次協(xié)議也不必過多關(guān)注上層協(xié)議
TCP/IP五層模型
TCP/IP通訊協(xié)議采用了5層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。
應(yīng)用層:負(fù)責(zé)應(yīng)用程序間溝通,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。我們的網(wǎng)絡(luò)編程主要就是針對應(yīng)用層。
傳輸層:負(fù)責(zé)兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸。如傳輸控制協(xié)議 (TCP),能夠確保數(shù)據(jù)可靠的從源主機(jī)發(fā)送到目標(biāo)主機(jī)。
網(wǎng)絡(luò)層:負(fù)責(zé)地址管理和路由選擇。例如在IP協(xié)議中,通過IP地址來標(biāo)識(shí)一臺(tái)主機(jī),并通過路由表的方式規(guī)劃出兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸?shù)木€路(路由)。路由器(Router)工作在網(wǎng)路層。
數(shù)據(jù)鏈路層:負(fù)責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識(shí)別。例如網(wǎng)卡設(shè)備的驅(qū)動(dòng)、幀同步(就是說從網(wǎng)線上檢測到什么信號(hào)算作新幀的開始)、沖突檢測(如果檢測到?jīng)_突就自動(dòng)重發(fā))、數(shù)據(jù)差錯(cuò)校驗(yàn)等工作。有以太網(wǎng)、令牌環(huán)網(wǎng),無線LAN等標(biāo)準(zhǔn)。交換機(jī)(Switch)工作在數(shù)據(jù)鏈路層。
物理層:負(fù)責(zé)光/電信號(hào)的傳遞方式。比如現(xiàn)在以太網(wǎng)通用的網(wǎng)線(雙絞 線)、早期以太網(wǎng)采用的的同軸電纜(現(xiàn)在主要用于有線電視)、光纖,現(xiàn)在的wifi無線網(wǎng)使用電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等。集線器(Hub)工作在物理層 。
網(wǎng)絡(luò)設(shè)備所在分層
- 對于一臺(tái)主機(jī),它的操作系統(tǒng)內(nèi)核實(shí)現(xiàn)了從傳輸層到物理層的內(nèi)容,也就是TCP/IP五層模型的下四層
- 對于一臺(tái)路由器,它實(shí)現(xiàn)了從網(wǎng)絡(luò)層到物理層,也就是TCP/IP五層模型的下三層
- 對于一臺(tái)交換機(jī),它實(shí)現(xiàn)了從數(shù)據(jù)鏈路層到物理層,也就是TCP/IP五層模型的下兩層
- 對于集線器,它只實(shí)現(xiàn)了物理層
封裝和分用
封裝和分用描述了網(wǎng)絡(luò)通信過程中,基本的數(shù)據(jù)傳輸流程。
比如我們舉一個(gè)例子:
如果小明要通過QQ把hello發(fā)送給小張。
對于小明(發(fā)送方)
1.應(yīng)用層
QQ這個(gè)應(yīng)用程序會(huì)把hello打包成一個(gè)應(yīng)用層的數(shù)據(jù)報(bào)(數(shù)據(jù)報(bào)的格式只有寫QQ的人才知道),我們假設(shè)是這樣的:源qq,目的qq,發(fā)送時(shí)間,發(fā)送內(nèi)容
12234125,52143221,2023-11-01 21:30:00,hello文章來源:http://www.zghlxwxcb.cn/news/detail-741346.html
就可以把應(yīng)用層數(shù)據(jù)報(bào)通過操作系統(tǒng)的api把數(shù)據(jù)發(fā)送給傳輸層。
2.傳輸層
傳輸層需要對剛才的應(yīng)用層數(shù)據(jù)再進(jìn)行打包,變成傳輸層的數(shù)據(jù)報(bào),這里打包本質(zhì)上是字符串的拼接(傳輸層的典型協(xié)議TCP、UDP),把剛才的應(yīng)用層數(shù)據(jù)在基礎(chǔ)上拼接上傳輸層的報(bào)頭(一個(gè)數(shù)據(jù)報(bào)=報(bào)頭+載荷)
UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello)
UDP報(bào)頭是二進(jìn)制的數(shù)據(jù)其中最關(guān)鍵的是源端口和目的端口,傳輸層數(shù)據(jù)處理好之后,這個(gè)數(shù)據(jù)又會(huì)交給網(wǎng)絡(luò)層。
3.網(wǎng)絡(luò)層
網(wǎng)絡(luò)層最主要的協(xié)議是IP協(xié)議
IP報(bào)頭+IP載荷(UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello))
IP報(bào)頭里也包含了很多的屬性,其中最重要的源IP和目的IP,網(wǎng)絡(luò)層數(shù)據(jù)打包好之后會(huì)交給數(shù)據(jù)鏈路層。
4.數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層也就是以太網(wǎng)
以太網(wǎng)報(bào)頭+以太網(wǎng)載荷(IP報(bào)頭+IP載荷(UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello)))+以太網(wǎng)報(bào)尾
以太網(wǎng)報(bào)頭中最重要的信息是源mac地址和目的mac地址(描述一個(gè)設(shè)備在網(wǎng)絡(luò)上的地址),以太網(wǎng)數(shù)據(jù)報(bào)處理好后會(huì)繼續(xù)傳遞給物理層。
5.物理層
物理層就會(huì)把傳過來的以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制的0和1序列,通過光/電信號(hào)進(jìn)行傳輸。
從上層協(xié)議到下層協(xié)議每一層都給數(shù)據(jù)報(bào)添加報(bào)頭,我們把這個(gè)過程稱為封裝。
數(shù)據(jù)發(fā)送出去后,會(huì)經(jīng)過一系列的交換機(jī)和路由器的轉(zhuǎn)發(fā),當(dāng)小明發(fā)送的數(shù)據(jù)到達(dá)后小張這邊后,小張這邊就要針對發(fā)送過來的數(shù)據(jù)進(jìn)行分用(對數(shù)據(jù)進(jìn)行解析)
對于小張(接受方)
1.物理層
拿到光/電信號(hào) => 轉(zhuǎn)換成二進(jìn)制 => 得到以太網(wǎng)的數(shù)據(jù)報(bào),然后這個(gè)數(shù)據(jù)報(bào)還要交給數(shù)據(jù)鏈路層進(jìn)行對應(yīng)的協(xié)議處理。
2.數(shù)據(jù)鏈路層
以太網(wǎng)報(bào)頭+以太網(wǎng)載荷(IP報(bào)頭+IP載荷(UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello)))+以太網(wǎng)報(bào)尾
通過以太網(wǎng)協(xié)議針對以太網(wǎng)數(shù)據(jù)報(bào)進(jìn)行解析,這個(gè)解析過程就會(huì)解析出報(bào)頭、荷載和報(bào)尾,然后再進(jìn)一步把載荷交給網(wǎng)絡(luò)層的協(xié)議來處理。
3.網(wǎng)絡(luò)層
IP報(bào)頭+IP載荷(UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello))
IP協(xié)議再進(jìn)一步針對網(wǎng)絡(luò)層數(shù)據(jù)報(bào)進(jìn)行解析得到報(bào)頭和載荷,然后會(huì)把荷載傳遞給傳輸層。
4.傳輸層
UDP報(bào)頭+UDP載荷(12234125,52143221,2023-11-01 21:30:00,hello)
這里使用UDP協(xié)議針對這個(gè)數(shù)據(jù)報(bào)進(jìn)行解析,拿到載荷,把載荷交給應(yīng)用層,這里會(huì)根據(jù)端口號(hào)來區(qū)分交給哪個(gè)應(yīng)用程序。
5.應(yīng)用層
12234125,52143221,2023-11-01 21:30:00,hello
上述數(shù)據(jù)根據(jù)端口號(hào),會(huì)交給QQ,QQ會(huì)進(jìn)一步解析這里的數(shù)據(jù),這里的解析就是按照寫QQ的人自定義的協(xié)議來展開的,最后得到hello。文章來源地址http://www.zghlxwxcb.cn/news/detail-741346.html
到了這里,關(guān)于【計(jì)算機(jī)網(wǎng)絡(luò)】計(jì)算機(jī)網(wǎng)絡(luò)中的基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!